python - 编写全局配置文件的正确方法是什么?

标签 python python-3.x

我需要编写一个配置文件,以便导入此配置的任何其他 .py 文件都能够访问其中的变量。

现在我还想根据argparse的输入参数修改main.py中的一些变量。但是,我不知道如何使修改也适用于其他文件。

例如,在config.py中:

VariableA = 5

func.py中:

import config

def display():
    print(config.VariableA)

main.py中:

import config
from func import display
config.VariableA = 10
display()  # 5

输出将为 5 而不是 10。我如何修改 config.py 中的变量以使其适用于其余脚本?

我尝试定义一个类,并将变量设置为该类的静态变量,如:

class Config:
    VariableA = 5

Config.VariableA = 10

这确实有效。但我不知道这个解决方案是不是最正确的方法?

最佳答案

如果您从 main 运行其他脚本(即通过使用导入),并且您始终使用 config. 限定设置访问,那么您所要求的实际上是有效的。如果您单独启动其他脚本,它们不会共享 main 的相同命名空间,因此您必须保留设置并从磁盘或环境中读取它们。

关于python - 编写全局配置文件的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56437165/

相关文章:

python - 变量不存在 : Failed lookup for key [val2] in u'None'

python - 为什么 `setup.py develop` 不起作用?

python - 发布数据应该是字节。不能是 str 类型

Python 3.5 从他们的小时工资和小时工资率计算一个人的工资

python-3.x - 如何在 pandas.dataframe 中执行行间操作

Python 乘法运算符

Python PyCharm 公仔包! plt.figure\plot 在 Debug模式下停止工作,但在 Python 控制台上工作

Python Pandas Dataframe 追加行

python gui树走

macos - OS X 10.8.2 python 3导入sqlite错误