gpt4 book ai didi

python - 语法错误 : encoding declaration in Unicode string

转载 作者:太空宇宙 更新时间:2023-11-04 07:06:54 25 4
gpt4 key购买 nike

如果我尝试在文件顶部使用像 #coding=utf-8 这样的魔术注释,会发生以下情况:

Traceback (most recent call last):
File <string>, line 0
SyntaxError: encoding declaration in Unicode string

我真的没有做错任何事。这是代码:

#coding=utf-8

string = raw_input()
chars = {}
for i in string:
if i in chars:
chars[i] += 1
else:
chars[i] = 0
print chars

我使用 repl.it。

最佳答案

你从你的问题中遗漏了一些东西:你正在使用 exec 来执行这段代码。并且您将 Unicode 对象 传递给了 exec,这意味着您已经声明源是 Unicode 文本:

>>> code = '''\
... # coding=utf8
... print 'hello world!'
... '''
>>> exec code
hello world!
>>> exec code.decode('utf8')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 0
SyntaxError: encoding declaration in Unicode string

您不能在传递给 exec 的 Unicode 文本中使用 PEP 263 声明。

如果您使用的是“自定义”环境,例如 repl.it , 然后是的,这样的环境总是使用像 exec 这样的技巧来执行代码,并且它们从您的浏览器加载源代码作为 Unicode。查看actual code used ,它将 JSON 源字符串传递给 exec(其中此类字符串始终为 unicode 字符串)。

关于python - 语法错误 : encoding declaration in Unicode string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39142304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com