使用带有print函数的end参数时的Python SyntaxError

时间:2013-08-02 15:34:29

标签: python

我不知道为什么我会收到错误,因为我完全按照书中的说法完成了

>>> os.getcwd()
'C:\\Users\\expoperialed\\Desktop\\Pyt…'
>>> data = open('sketch.txt')
>>> print(data.readline(),end="")
SyntaxError: invalid syntax

3 个答案:

答案 0 :(得分:8)

或者,在Python 2中使用你想要的打印功能:

>>> from __future__ import print_function

由于__future__模块的工作方式,这将需要位于Python程序的顶部。

答案 1 :(得分:6)

我认为您的问题是您使用的是Python 2.x并使用Python 3.x的语法。在Python 3.x中,print是内置的,可以像这样使用。但是,在2.x中,它是一个关键字而不能。如果您使用的是2.x,请执行以下操作:

print data.readline(),

查看您正在使用的Python版本的一种方法是:

import sys
if sys.version_info.major == 2:
    # We are running 2.x
elif sys.version_info.major == 3:
    # We are running 3.x

或者,从终端:

$ python --version

解决此问题的最佳方法可能是升级到Python 3.x.但是,如果您不能,那么您可能需要查看__future__模块。它可以使你可以在2.x中使用Python 3.x的print函数:

>>> from __future__ import print_function
>>> print("yes!")
yes!
>>> print("a", "b", sep=",")
a,b
>>>

答案 2 :(得分:2)

看起来你运行的是错误的python版本。目前有2个版本的Python在运行,2和3.在Python 2中,print是一个声明所以你也应该更改你的代码

 print data.readline(), # The trailing comma to stop the newline

虽然在3中它是一个功能,应该用你的书如何显示。

看起来你的书是在Python 3中所以你应该升级你的python(初学者没有理由不使用Python 3)