我想使用执行正确的 Python 程序exec()
,然后在执行后获取变量及其值。谷歌说我应该创建一个字典并在那里写下执行结果:exec(code_object)
在变量中。但不幸的是,这在 Python 3 中没有。
问问题
958 次
1 回答
1
Python 3 中的代码应该是:
exec(code_object, variables)
此语法也与 Python 2 兼容。
exec(code_object) in variables
将在 Python 3 中编译和运行,但做的事情与 Python 2 完全不同——它将code_object
在当前范围内执行;将exec
返回None
;然后表达式None in variables
将评估False
,因为None
它不是variables
; 结果将被丢弃——因此除了code_object
看到错误的范围外,既不会发生编译时错误,也不会发生运行时错误。
于 2015-04-26T22:27:16.377 回答