Python全局参数文件
我有一个Python脚本,它会调用其他脚本里的多个函数。我在运行这个脚本时,会给它传一个设置文件,格式如下:
var1 = XXX
var2 = YYY
...
我想把这些变量变成全局变量,这样我调用的每个函数都可以使用它们,而不需要每次都明确传递这些变量。有什么好的方法吗?
谢谢。
1 个回答
2
简单的方法是使用一个设置模块,比如 settings.py
,就像建议的那样。
你只需要在这个模块里定义一些变量,然后任何导入了 settings
模块的其他模块都可以通过 settings.var_name
来使用这些变量。
举个例子:
文件 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']