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
。
我有一个 Python 脚本获取命令行参数,然后它作为全局变量存储在脚本中:
global chain
chain = sys.argv[1]
脚本随后导入了几个其他文件,每个文件都包含另一个函数。我也试图通过执行以下操作将此变量的值传递给其他函数:
def func():
global chain
#do stuff
它包含在与原始脚本不同的另一个文件中。
当我 运行 脚本时,我得到
NameError: global name 'chain' is not defined
我错过了什么?
global
表示"within that module"。它不跨模块共享名称。
如果您想从一个模块访问另一个模块中定义的变量,只需导入它:
from my_module import chain
或者,更好的是,将其作为参数传递给 func
。