python - 如何使用exec()执行Python程序并获取变量?

标签 python exec python-3.3

我想使用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/

相关文章:

python - 如何构建 pygobject 以自定义安装 Python?

python - 如何在没有回车的情况下在 Python 3.3.3 中打印?

python if语句总是

python - Selenium Python : 'ElementNotInteractableException'

python - 从 astropy Distance 对象访问浮点值

python - Numpy:array1 中同时也是 array2 元素的元素的掩码

python - 如何在 openCV python 2.7 中添加 "Tracker"

c - 当我调用 vfork() 时,我可以调用任何 exec*() 函数,还是必须调用 execve()?

go - 作为另一个用户执行

c - 在 C/C++ 中执行 linux 程序并通过 stdin/stdout 与其通信的最简单方法