我想使用exec()
执行一个正确的Python程序,然后在执行后获取变量及其值。 Google 说我应该创建一个字典并将执行结果写入变量中:exec(code_object)
。但不幸的是,Python 3 中没有这种情况。
最佳答案
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 - 如何使用exec()执行Python程序并获取变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13893427/