globals() 仅适用于当前模块



通过globals(),我可以在当前模块中看到符号。当我导入另一个模块时,我看不到它们。那么,我如何通过globals()访问另一个模块中的全局类,或者无论如何

都可以呢?

是的,globals()只显示当前的模块命名空间。

模块是具有属性的对象;您可以访问它们的 __dict__ 属性,或者更好的是,使用 vars() 函数将它们的命名空间视为字典:

>>> import string
>>> list(vars(string))
['whitespace', '_string', 'ChainMap', 'ascii_uppercase', 'digits', '__name__', 'punctuation', 'Formatter', 'Template', '__doc__', '__spec__', '_re', 'hexdigits', '__package__', 'ascii_lowercase', '__cached__', 'octdigits', 'ascii_letters', '__builtins__', '_TemplateMetaclass', '__file__', 'capwords', '__loader__', 'printable']

相关内容

  • 没有找到相关文章

最新更新