2012-12-15 1 views
1

exec()을 사용하여 올바른 Python 프로그램을 실행 한 다음 실행 후 변수와 해당 값을 가져 오려고합니다. Google은 사전을 작성하고 거기에 실행 결과를 기입해야한다고 말합니다. 을 변수로 사용합니다. 그러나 불행하게도 그 파이썬 3Python 프로그램을 실행하고 exec()를 사용하여 변수를 가져 오는 방법은 무엇입니까?

+0

가능한 복제 [Python 2 및 Python 3의 exec 함수 동작] (http://stackoverflow.com/questions/15086040/behaviour-of-exec-function-in-python-2-and-python-3) –

답변

1

파이썬 3의 코드는해야하지 않습니다

exec(code_object, variables) 

이 구문도 Python 2 compatible입니다.


exec(code_object) in variables 

를 컴파일하고 파이썬 3에서 실행하지만, 파이썬 2에서 완전히 다른 일을 할 것 - 그것은 현재 범위에 code_object을 실행하는 것입니다; execNone을 반환합니다. None in variablesNonevariables의 키가 아니기 때문에 False을 평가할 것입니다. 결과가 누락됩니다. 따라서 컴파일 시간도 런타임 오류도 발생하지 않습니다 (code_object 잘못된 범위 참조).

관련 문제