我有一个Python脚本,它得到一个命令行参数,然后作为全局变量存储在脚本中:
global chain
chain = sys.argv[1]
然后,脚本导入其他几个文件,每个文件都包含另一个函数。我正试图通过以下操作将这个变量的值传递给其他函数:
def func():
global chain
#do stuff
其包含在与原始脚本不同的另一个文件中。
当我运行脚本时,我得到
NameError: global name 'chain' is not defined
我错过了什么?
global
在Python中的意思是"在该模块内"。它不在模块之间共享名称。
如果你想从另一个模块访问一个模块中定义的变量,只需导入它:
from my_module import chain
或者,更好的是,将其作为参数传递给func
。