1
我想使用exec()
执行正确的Python程序,然后在执行后获取变量及其值。谷歌说我应该创建一个字典并在那里写下执行结果:变量。但不幸的是这并没有出现在Python 3如何执行Python程序并使用exec()获取变量?
我想使用exec()
执行正确的Python程序,然后在执行后获取变量及其值。谷歌说我应该创建一个字典并在那里写下执行结果:变量。但不幸的是这并没有出现在Python 3如何执行Python程序并使用exec()获取变量?
在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
看到错误的范围。
[可执行函数在Python 2和Python 3中的行为]的可能重复(http://stackoverflow.com/questions/15086040/behaviour-of-exec-function-in-python-2-and-python-3 ) –