2012-12-15 32 views
1

我想使用exec()执行正确的Python程序,然后在执行后获取变量及其值。谷歌说我应该创建一个字典并在那里写下执行结果:变量。但不幸的是这并没有出现在Python 3如何执行Python程序并使用exec()获取变量?

+0

[可执行函数在Python 2和Python 3中的行为]的可能重复(http://stackoverflow.com/questions/15086040/behaviour-of-exec-function-in-python-2-and-python-3 ) –

回答

1

在Python 3中的代码应该是:

exec(code_object, variables) 

这句法也Python 2 compatible


exec(code_object) in variables 

编译和Python 3中运行,但做一些完全不同于Python的2 - 它会在当前范围内执行code_object; exec将返回None;那么表达式None in variables将评估False,因为None不是variables中的关键;结果将被丢弃 - 因此编译时和运行时错误都不会发生,除了code_object看到错误的范围。

相关问题