执行字符串作为命令

时间:2015-03-24 16:55:30

标签: python string variables

有没有办法获取字符串并将其用作Python中的命令?

类似于下面显示的示例。

x = "import time"

x

time.sleep(1)

我知道上面的例子不会起作用,这只是为了帮助你理解我想要做的事情。

2 个答案:

答案 0 :(得分:3)

您正在寻找危险但功能强大的exec()eval()

What does Python's eval() do?

Running Python code contained in a string

使用exec()(它是Python 3.x中的一个函数,但2.x中的一个语句)来评估语句,所以:

exec('print(5)')           # prints 5.

eval()来评估表达式:

x=5                        #prints 5
eval('x+1')                #prints 6

答案 1 :(得分:1)

您可以使用evaleval()用于评估表达式。如果要执行语句,请使用exec()

请参阅eval的示例:

def fun():
    print "in fun"

eval("fun()")

x="fun()"
eval(x)

请参阅exec的示例。

exec("print 'hi'")