繁体   English   中英

如何从模块命名空间中获取全局变量?

[英]How to get the globals from a module namespace?

有没有办法在特定的模块名称空间中获取包含全局变量的字典 如果模块包含至少一个具有以下内容的函数,则看起来可以实现它:

import mymodule
d = mymodule.func.__globals__

这是正确的吗?

有更普遍的方式吗? (例如,如果模块不包含任何函数而只包含变量,那怎么能这样做呢?)

我并不期待“你想用它做什么?可能还有另一种做法。” 回答; 我的问题相当于理论问题。

如果重要的话,我对Python3的答案更感兴趣。

只需抓住使用vars ,它可以获取与全局范围相对应的__dict__

vars(mymodule)

func.__globals__只返回这个字典,你会看到:

vars(mymodule) is mymodule.func.__globals__

返回True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM