2015-02-02 6 views
1

eval 함수를 사용하여 파이썬 프로그램이 파이썬 코드를 자체 내에서 실행할 수 있습니다.eval 함수는 Python 2.7에서 잘 작동하지 않습니다.

나는 Python2.7eval 함수를 사용하여 print() 명령을 실행하려면, 그러나 나는 다음과 같은 오류 접수 :

>>> 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에 문제가 없습니다 0.4 : 파이썬 2 print xxx에서

>>> print ("test") 
test 
>>> command='print("test")' 
>>> command 
'print("test")' 
>>> eval(command) 
test 
>>> 

답변

4

는 성명 아닌 표현이다. eval은 표현식을 평가하기위한 것입니다. 문 실행에 exec을 사용할 수 있습니다.

파이썬 3에서 print(xxx)은 함수 호출이므로 평가할 수 있습니다.

관련 문제