一尘不染

为什么在Python解释器中出现SyntaxError?

python

当我从.py文件尝试此代码时,此代码有效,但在命令行解释器和Idle中失败。

>>> try:
...     fsock = open("/bla")
... except IOError:
...     print "Caught"
... print "continue"
  File "<stdin>", line 5
    print "continue"
        ^
SyntaxError: invalid syntax

我正在使用python 2.6


阅读 181

收藏
2021-01-20

共1个答案

一尘不染

对于Python 3,它print是一个函数而不是语句,因此print("continue"),如果您使用的是Python
3,则需要在参数周围加上括号,如中所示。

但是,插入符号指向的位置比使用Python
3的位置早,因此您必须使用Python2.x。在这种情况下,错误是因为您要在交互式解释器中输入此内容,并且它需要一些“帮助”来弄清楚您要告诉它的内容。在上一个块之后输入一个空行,以便它可以正确地解密缩进,如下所示:

>>> try:
...     fsock = open("/bla")
... except IOError:
...     print "Caught"
...
(some output shows here)
>>> print "continue"
2021-01-20