class A:
pass
class A1(A):
pass
class A2(A):
pass
def help_here(s: WHAT_SHOULD_I_TYPE_HERE ):
# How to hint this function that accepts list,
# where all elements should be instances of same subclass of A.
# Example 1: [A1(), A1(), A1()] - good
# all components all elements are same class,
# and it is subclass of A
# Example 2: [A2(), A2(), A2(), A2()] - valid. Same reason.
# Example 3: [A1(), A1(), A2()] - invalid, not same classes.
# …Run Code Online (Sandbox Code Playgroud) # Python3
r = re.compile(r"[\U0001f570\U0001f573\U0001f57a]")
Run Code Online (Sandbox Code Playgroud)
这个 RegExp 应该找到三个表情符号之一。一切正常,但 PyCharm 说:
“字符类中的重复字符 \U0001f573”
“字符类中的重复字符 \U0001f57a”
如果我更改顺序,它对第二个和第三个符号的说明相同,但从不说第一个。
它是 PyCharm 中的错误(可能是关于 unicode 代理对)还是我的 RegExp 真的有问题?
如果你从Instagram获得JSON数据,你会发现media_preview关键的女巫价值是一些Base64编码的数据.它看起来像一些非常小的预览二进制数据.也许压缩了.
以这篇文章为例.它只是黑色方块,预览非常小.看看它的JSON:
data['graphql']['media_preview'] = "ACoq5miiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/Z"
我无法撤消代码并了解Instagram如何使用这些数据.我该怎么做才能从这个数据中创建一些预览?
我不擅长理解缩小的js,但我认为它在动态创建的画布上绘制了"敏感内容"的模糊预览.
这是一篇帖子,其中包含一些医学上很不敏感的内容供您使用.
更新:我注意到b64解码数据始终以... 00 2A 2A结尾FF D9.
我的模板是用于JS的
\n\nlet SETTINGS = {{settings|tojson(4)}};\nRun Code Online (Sandbox Code Playgroud)\n\n我的设置是一个 dict {\'name\': \'Russian name \xd0\xa1\xd0\xb0\xd1\x88\xd0\xb0\', \'id\': 12345}。如果我渲染它,我会得到:
let SETTINGS = {\n "name": "Russian name \\u0421\\u0430\\u0448\\u0430",\n "id": 12345\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我需要获取非转义的 unicode 字符。我可以用同样的方式在 python 中使用
\n\njson.dumps(data, encure_ascii=False)\nRun Code Online (Sandbox Code Playgroud)\n\n但tojson()过滤器只接受一个参数(缩进)。
pycharm ×3
python ×3
python-3.x ×3
javascript ×2
unicode ×2
decode ×1
html5-canvas ×1
instagram ×1
jinja2 ×1
regex ×1
type-hinting ×1