我需要编写一个配置文件,以便导入此配置的任何其他 .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/