【问题标题】:python script invalid character [duplicate]python脚本无效字符[重复]
【发布时间】:2014-04-07 15:57:12
【问题描述】:

我正在尝试在 mac osx 10.9.2 上使用 python 运行脚本,但我没有遇到这个无效字符问题。

我有一个只有这一行的脚本: 打印“为什么这不起作用?什么非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

有人可以帮忙吗?如何指定字符编码?谢谢。

【问题讨论】:

  • 你的引用不是直接的" 引用。你写的是TextEdit吗?

标签: python macos


【解决方案1】:

你有聪明的引号!

也许您将源代码输入文字处理器,或者从自动格式化错误的网站复制源代码。无论哪种方式,只需将它们替换为直引号(" 字符)即可。

Python 2 抱怨智能引号不是 ASCII 的一部分。 Python 3 可以处理非 ASCII 字符,但抱怨它们不是预期的引号。无论哪种方式,解决方案都是一样的。

【讨论】:

  • 谢谢。我用文本编辑做到了。当我继续在线教程时,将在某个时候开始使用 IDLE。
  • @rockhammer 我会推荐 sublimetext 或其他直接编程文本编辑器而不是 IDLE,但其中任何一个确实可以解决您的报价问题。
【解决方案2】:

您使用的引号不等同于 python 中用于描述字符串的引号 --

" vs “

>>> '“' == '"'
False

更换它们,错误就会消失。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    • 2019-10-09
    相关资源
    最近更新 更多