Python 中的全局变量以跨文件共享变量

Global variables in Python to share variable across files

我有一个 Python 脚本获取命令行参数,然后它作为全局变量存储在脚本中:

global chain
chain = sys.argv[1]

脚本随后导入了几个其他文件,每个文件都包含另一个函数。我也试图通过执行以下操作将此变量的值传递给其他函数:

def func():
    global chain
    #do stuff

它包含在与原始脚本不同的另一个文件中。

当我 运行 脚本时,我得到

NameError: global name 'chain' is not defined

我错过了什么?

Python中的

global表示"within that module"。它不跨模块共享名称。

如果您想从一个模块访问另一个模块中定义的变量,只需导入它:

from my_module import chain

或者,更好的是,将其作为参数传递给 func