Python脚本无效字符
我在用Mac OS X 10.9.2运行Python脚本时,遇到了一个无效字符的问题。
我的脚本只有这一行:
print “为什么这个不工作?有什么非ASCII字符?”;
当我用Python(2.7.5)运行它时,出现了这个错误:
File "script.2.py", line 1
SyntaxError: Non-ASCII character '\xe2' in file script.2.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
如果我把脚本改成:
print(“what invalid char in identifier!?”);
然后用Python 3.4.0运行它,我得到:
File "script.3.py", line 1
print(“what invalid char in identifier!?”);
^
SyntaxError: invalid character in identifier
有人能帮我吗?我该如何指定字符编码?谢谢。
2 个回答
3
你使用的引号和Python中用来表示字符串的引号不一样 --
" vs “
>>> '“' == '"'
False
把它们换成正确的引号,这个错误就会消失。
3
你使用了智能引号!
可能是你在文字处理软件里输入了源代码,或者从一个格式不太好的网站上复制了代码。不管是哪种情况,你只需要把这些引号换成普通的引号(就是"
这个字符)。
在Python 2中,智能引号会报错,因为它们不属于ASCII字符。而Python 3虽然可以接受非ASCII字符,但也会抱怨这些引号不是它期待的那种。无论如何,解决办法都是一样的。