【问题标题】:Catch EOL exception in python在 python 中捕获 EOL 异常
【发布时间】:2013-10-14 09:46:54
【问题描述】:

我正在尝试使用 exec() 在 Python 中动态执行一些代码语句

从用户输入中接受代码语句。

字符串引号未闭合时出现EOF异常如何处理?

例如。

 >> exec('if 5 > 1: print "5 is greater)
    # of course, this will raise an exception, 
    # how do I handle this 

如何使用try-catch 处理此类情况? 我应该在这里寻找什么exception

【问题讨论】:

  • 你应该在最后有一个' 对吗? (我知道省略 " 是您要解决的问题的一部分,但 ' 应该在那里吧?)
  • 不!如果用户忘记它,则不会。它来自用户的原始输入!
  • 是的,但是,sigh.. exec('if 5 > 1: print "5 is greater') 最后的 ' 是你的错,不是用户输入的东西不是吗?例如,如果您将 exec() 中的所有内容替换为名为 user_string 的变量,则缺少的 ' 将不存在,所以我只是澄清一下,这是您问题中的一种类型,而不是您的实际 EOL重新尝试捕捉,因为这几乎是不可能的(动态)。

标签: python eof


【解决方案1】:

EOFError 就是你要找的东西

这个链接应该可以帮助你http://docs.python.org/2/library/exceptions.html

【讨论】:

    猜你喜欢
    • 2011-12-26
    • 2023-03-03
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    相关资源
    最近更新 更多