【问题标题】:python SyntaxError: unexpected EOF while parsingpython SyntaxError:解析时出现意外的EOF
【发布时间】:2011-07-15 10:42:59
【问题描述】:

所以我有这个代码

m, b = eval(input())

目的是输入一大堆逗号分隔的值,然后让 python 将元组解包到变量中

但是当我运行我得到这个错误

    x, y = eval(input())
  File "<string>", line 1
    1,2

           ^
SyntaxError: unexpected EOF while parsing

我做错了什么?

我正在使用 python 3

【问题讨论】:

    标签: python exception input eval syntax-error


    【解决方案1】:

    您不应该将eval 用于此类事情。不可能以用户无法破坏它的方式编写它(错误地或故意地)。改为这样做:

    data = input()
    m, b = (int(var) for var in data.split(","))
    

    【讨论】:

    • lol 在这种情况下它改为返回 m, b = (int(var) for var in data.split(",")) ValueError: invalid literal for int() with base 10: '" 1'
    猜你喜欢
    • 2013-04-25
    • 2017-10-03
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 1970-01-01
    • 2021-03-21
    相关资源
    最近更新 更多