1

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

4

1 回答 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 回答