有没有一种方法可以在特定模块 namespace 中获取包含全局变量的字典?如果模块包含至少一个具有类似以下内容的功能,则看起来可以实现:
import mymodule
d = mymodule.func.__globals__
这是正确的吗?
有更通用的方法吗? (例如,如果模块不包含任何函数而仅包含变量,怎么办?)
我没想到会出现“您打算如何处理?可能有另一种方式可以做到这一点”。回答;我的问题是理论上的。
如果有问题,我对Python3的回答更感兴趣。
最佳答案
只需使用vars
即可,它获取与全局范围相对应的__dict__
。
vars(mymodule)
func.__globals__
只是返回此字典,以供您了解如何:vars(mymodule) is mymodule.func.__globals__
返回
True
。关于python - 如何从模块 namespace 获取全局变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41387963/