Python全局参数文件

0 投票
1 回答
1193 浏览
提问于 2025-05-01 13:54

我有一个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']

撰写回答