0

我正在使用 2.7.3 版本编写一个 python 脚本。在脚本中有一行是

toolsDir = 'tools/'

当我在终端中运行它时,我得到SyntaxError: invalid syntax了字符串“r”中的最后一个字符。我试过重命名字符串,使用“而不是'。如果我真的通过bash进入python并在一行中声明字符串并打印它,我不会出错。

我检查了编码file -i update.py,我得到了text/x-python; charset=us-ascii

我使用 TextWrangler、nano 和 LeafPad 作为文本编辑器。

我有一种感觉,这可能与其中一位编辑的编码有关。我之前运行过这个脚本,没有任何错误。

任何建议将不胜感激。

4

3 回答 3

1

字符串是'tools/'. toolsDir是一个变量。当然,您可以随意使用不同的术语,但最终会让试图帮助您的人感到困惑。该行中唯一r的是变量名的最后一个字符,所以我认为这是错误的位置。

您很可能已经设法引入了固定宽度的空格(字符代码0xA0)而不是普通空格。尝试删除SP=SP(所有三个字符)并重新键入它们。

于 2013-11-27T15:58:16.893 回答
1

尝试通过 pylint 运行代码。

您可能在此行之前的附近行有语法错误。尝试将此行注释掉,看看错误是否移动。

你可能有一个空格错误,不要忘记 python 中的空格计数。如果您在文件中的任何位置混合了制表符和空格,它可能会使语法检查器偏离几行。

如果您从任何其他来源复制并粘贴行,则您可能复制了不符合您使用的任何约定的空格。

于 2013-11-27T16:07:31.857 回答
1

当然,这个错误是愚蠢的。

在我的一个导入中,我使用try: 而不关闭或捕获错误条件。pylint 没有发现这一点,错误消息也没有表明这一点。

如果将来有人有这个三重检查所有打开代码的语法错误。

于 2013-11-27T16:50:18.203 回答