有没有办法在特定模块名称空间中获取包含全局变量的字典?如果模块包含至少一个类似于:
的函数,则看起来可以实现它import mymodule
d = mymodule.func.__globals__
这是对的吗?
有更通用的方法吗? (例如,如果模块不包含任何函数而只包含变量,那怎么能这样做?)
我不期待“你想用它做什么?可能还有另一种做法。”回答;我的问题相当于理论问题。
如果重要的话,我对Python3的回答更感兴趣。
答案 0 :(得分:3)
只需抓住使用vars
来抓取与全局范围相对应的__dict__
。
vars(mymodule)
func.__globals__
只需返回此字典即可查看:
vars(mymodule) is mymodule.func.__globals__
返回True
。