使用文件时Python打印语句中的无效语法错误

7 投票
2 回答
6431 浏览
提问于 2025-04-17 21:42
print('Group output sizes: |A| = {}, |B| = {}'.format(len(A),len(B)),    file=stderr)
                                                                             ^
SyntaxError: invalid syntax

有人能帮我看看这个错误是怎么回事吗?我最开始以为是因为打印语法的问题,但我觉得不是这个原因。

请帮帮我。

2 个回答

0

看起来你是在Python 2里使用Python 3的print写法。

你可以选择使用Python 3的解释器,或者把print改成这样:

print >>sys.stderr, 'Group output sizes: |A| = {}, |B| = {}'.format(len(A),len(B))
5

看起来你想在 Python 2.x 中使用 Python 3.x 的 print 函数。要做到这一点,你需要先从 __future__ 中导入 print_function

把下面这一行放在你的源文件最上面,注释和文档字符串之后:

from __future__ import print_function

下面是一个示例:

>>> # Python 2.x interpreter session
...
>>> print('a', 'b', sep=',')
  File "<stdin>", line 1
    print('a', 'b', sep=',')
                       ^
SyntaxError: invalid syntax
>>>


>>> # Another Python 2.x interpreter session
...
>>> from __future__ import print_function
>>> print('a', 'b', sep=',')
a,b
>>>

撰写回答