【问题标题】:Why is invalid syntax error print '%s does not exist in %s for %s' <---- % ( [duplicate]为什么无效的语法错误打印“%s 在 %s 中不存在 %s”<---- % ( [重复]
【发布时间】:2017-10-03 01:05:30
【问题描述】:

这不是重复的,因为我使用的是 python 2.7.6,而不是 3。

我正在使用来自 V8 源代码库的 the script,它给了我错误:

D:\v8\source\v8\tools\dev>v8gen.py x64.release
  File "D:\v8\source\v8\tools\dev\v8gen.py", line 147
    print '%s does not exist in %s for %s' % (
                                         ^
SyntaxError: invalid syntax

文件本身应该没问题,因为它可以在其他环境中运行,可能是 linux。但我正在从 Windows 10 本机 shell (cmd) 运行脚本。

我对 python 不熟悉,有人可以提出什么问题吗?

【问题讨论】:

  • 我们需要查看更多代码。你的打印参数上有括号吗?您要打印的值是否正好有 3 个?
  • 你怎么知道你使用的是 Python 2.7.6?这看起来与您在 Python 3 中遇到的错误一模一样。
  • 我建议只将该打印件放在括号中,看看您是否看到相同的问题。 print(...) 在 Py2 & Py3 中有效
  • 如果您在某处使用from __future__ import print_function,这是有道理的。 NuclearPeon 的建议也值得一试。
  • @Maximus:python 报告 Python 2.7.6 并不必然意味着它与 .py 文件相关联。如果你使用python v8gen.py x64.release会发生什么?

标签: python python-2.7


【解决方案1】:

我认为您使用的是 Python 3.x,而这段代码是用 Python 2.x 编写的。

尝试在正确版本的python中运行,或者改成:

print ('%s does not exist in %s for %s' % (
      self._options.builder, CONFIG, self._options.master))

【讨论】:

  • 事实并非如此。在python3中,如果你调用不带括号的print,它会引发SyntaxError: Missing parentheses in call to 'print'
  • @RafaelCardoso 那是后来添加的。在 Python 3 的早期版本中,它只是说 SyntaxError。
  • 自己试试吧。它首先引发了这个错误:) @RafaelCardoso
  • @RafaelCardoso:这是不正确的;试试% (。
猜你喜欢
  • 2019-01-28
  • 1970-01-01
  • 2022-06-14
  • 2020-04-20
  • 1970-01-01
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 2014-11-02
相关资源
最近更新 更多