据我所知,eval函数允许python程序在其自身内运行python代码。
我想在 Python2.7 中使用print()
函数运行eval
命令,但我收到以下错误:
>>> print "test"
test
>>> command='print "test"'
>>> command
'print "test"'
>>> eval(command)
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
eval(command)
File "<string>", line 1
print "test"
^
SyntaxError: invalid syntax
>>>
请注意,我对此命令没有任何问题 python3.4 :
>>> print ("test")
test
>>> command='print("test")'
>>> command
'print("test")'
>>> eval(command)
test
>>>
答案 0 :(得分:5)
在Python 2中print xxx
是一个语句,而不是表达式。 eval
用于评估表达式;您可以使用exec
来执行语句。
在Python 3中,print(xxx)
是一个函数调用,因此可以对其进行评估。