将带有操作的字符串转换为int?

时间:2018-05-20 13:48:07

标签: python

我正在尝试创建一个执行任务的短程序。不幸的是我不断收到错误。问题归结为以下几点。

如果我试图跑:

line = "1+1"
int(line)

我希望它返回

2

但是我收到以下错误:

invalid literal for int() with base 10: '1+1'

从在线查看这是因为Python无法识别我使用过非数字这一事实。然而,如果没有一些返工,我无法解决这个问题。

我希望有一种解决这个问题的直接方法。我尝试过使用浮点数,但这也存在同样的问题。

2 个答案:

答案 0 :(得分:0)

您可以使用eval功能。

    eval("1 + 1")

答案 1 :(得分:0)

您可以使用ast.literal_eval

import ast

line = "1+1"
print(ast.literal_eval(line))
# 2