Python脚本无效字符

0 投票
2 回答
3147 浏览
提问于 2025-04-18 01:44

我在用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字符,但也会抱怨这些引号不是它期待的那种。无论如何,解决办法都是一样的。

撰写回答