从其他模块获取 globals() 字典

Get globals() dict from other module

我已经按照 this method 使用全局变量创建了一个设置文件。

settings.py 我有 :

def init()
    global test
    test = True

在 main.py 中:

import settings
settings.init()
print(globals())

我在全局变量中看不到“测试”!有什么想法吗?

在 Python 中,全局变量 变量仅在定义它们的模块中是全局的。

如果要访问导入模块的全局变量,可以使用:

settings_globals = vars(settings)

或者如果您只想要 public 个(不以前导下划线开头):

settings_publics = {k: v for k,v in vars(settings).items if not k.startswith('_')}