有没有办法获取包含特定模块命名空间中的全局变量的字典?如果模块至少包含一个函数,那么看起来你可以实现它:
import mymodule
d = mymodule.func.__globals__
这样对吗?
有更通用的方法吗? (例如,如果模块不包含任何函数而只包含变量,如何做到这一点?)
我不期待“你想用它做什么?可能有另一种方法。” 回答;我的问题是理论上的问题。
如果重要的话,我对 Python3 的回答更感兴趣。
最佳答案
只需使用 vars
即可获取对应于全局范围的 __dict__
。
vars(mymodule)
func.__globals__
简单地返回这个字典给你看看如何:
vars(mymodule) is mymodule.func.__globals__
返回 True
。
关于python - 如何从模块命名空间获取全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41387963/