都可以呢?
通过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']