将字符串作为命令执行
Execute a string as a command
有没有办法获取字符串并将其用作 Python 中的命令?
类似于下面显示的示例。
x = "import time"
x
time.sleep(1)
我知道上面的例子行不通,那只是为了帮助你理解我正在尝试做的事情。
危险但强大的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
可以使用eval
。eval()
用于计算表达式,如果要执行语句,使用exec()
参见 eval
的示例:
def fun():
print "in fun"
eval("fun()")
x="fun()"
eval(x)
参见 exec
的示例。
exec("print 'hi'")
有没有办法获取字符串并将其用作 Python 中的命令?
类似于下面显示的示例。
x = "import time"
x
time.sleep(1)
我知道上面的例子行不通,那只是为了帮助你理解我正在尝试做的事情。
危险但强大的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
可以使用eval
。eval()
用于计算表达式,如果要执行语句,使用exec()
参见 eval
的示例:
def fun():
print "in fun"
eval("fun()")
x="fun()"
eval(x)
参见 exec
的示例。
exec("print 'hi'")