有没有办法获取字符串并将其用作Python中的命令?
类似于下面显示的示例。
x = "import time"
x
time.sleep(1)
我知道上面的例子不会起作用,这只是为了帮助你理解我想要做的事情。
答案 0 :(得分:3)
您正在寻找危险但功能强大的exec()
和eval()
:
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)
您可以使用eval
。eval()
用于评估表达式。如果要执行语句,请使用exec()
请参阅eval
的示例:
def fun():
print "in fun"
eval("fun()")
x="fun()"
eval(x)
请参阅exec
的示例。
exec("print 'hi'")