我有一个python脚本,它从其他脚本调用多个函数。我调用脚本,将其作为参数提供一个格式为的设置文件
var1 = XXX
var2 = YYY
...
我想让这些变量成为全局变量,这样我调用的每个函数都可以使用它们,但不必明确地传递它们。最好的方法是什么?
谢谢。
简单的方法是按照建议使用设置(例如settings.py
)模块。
您只需在模块中定义变量,它们将可用于通过settings.var_name
导入settings
模块的任何模块。
示例:
文件settings.py
:
var_name = "value"
文件m.py
:
#!/usr/bin/env python
import settings
print settings.var_name
首选的方法是使用环境(子进程继承环境)在全局上下文中传递环境。您可以将os.environ用于此目的。
如何做到这一点的一个例子:
文件a.py
:
#!/usr/bin/env python
import os
import b
os.environ['var_name'] = 'value'
b.echo()
文件b.py
:
import os
def echo():
print os.environ['var_name']