当前位置: 首页 > 面试题库 >

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

齐威
2023-03-14
问题内容

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

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

我正在使用python 2.6


问题答案:

对于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"


 类似资料:
  • 问题内容: 有人知道什么是“不良状态线”吗? 编辑:我尝试了许多服务器,许多URL的,我仍然收到此错误? 问题答案: 从httplib(Python 2) 的文档(在Python 3中 称为http.client)中: 例外 :( 例外 :) 的子类。 在服务器响应我们不理解的HTTP状态代码时引发。 我运行了相同的代码,但未收到错误: 我想只是仔细检查所有内容,然后重试?

  • 关于浮点数学。2017年是否有可能重新设计计算机/标准,以便 --int(x) --十进制(固定位置,无轨迹x.x或x.xxn)((同时我在下面的答案中创建了一个hack)) --浮子(这里允许小径,就像浮子的深奥本质x. n?) 下面是我写的原文和一段视频,介绍了浮点CppCon 2015: 我正在编写一个迭代器,它将从0.0循环到3.0。 但是当我做=0.2时,结果不是预期的0.2,然后是0.

  • 问题内容: 我正在使用Solr 3.3索引数据库中的内容。我用Python编写了JSON内容。我设法 上传2126条记录,这些记录总计523246个字符(约511kb) 。但是当我尝试2027条记录时,Python给了我错误: 哎哟。512kb的字节数是基本限制吗?现有的JSON模块是否有大量替代品? 更新 :由于尝试对 biz_list [2126:] 进行编码而导致的某些数据错误会立即导致错误

  • 问题内容: 我在以下一行中得到一个: 我正在打印所有值: 输出: 那我为什么要得到呢?请帮助。谢谢。完整的堆栈跟踪如下: 问题答案: 简单的答案:您在该位置没有得到NullpointerException- 至少不是根据您发布的stacktrace。Liferay的LoginAction没有原始的StrutsAction。如果您使用的是6.2 GA5,则这是引发NullpointerExcepti

  • 问题内容: 为什么下面的代码抛出ConcurrentModificationException?JoshBloch可以避免ConcurrentModificationException。 问题答案: 使用“ for each”循环时,不能在列表上使用remove。相反,您可以使用此方法在迭代器上调用remove: 如果您实际上想用“ 200”代替每个值,或用其他值代替,则建立一个新列表可能更有意义

  • 本文向大家介绍请你解释为什么会出现4.0-3.6=0.40000001这种现象?相关面试题,主要包含被问及请你解释为什么会出现4.0-3.6=0.40000001这种现象?时的应答技巧和注意事项,需要的朋友参考一下 考察点:计算机基础 原因简单来说是这样:2进制的小数无法精确的表达10进制小数,计算机在计算10进制小数的过程中要先转换为2进制进行计算,这个过程中出现了误差。