我需要编写一个配置文件,以便导入此配置的任何其他.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
这确实起作用。但是我不知道这种解决方案是否是最合适的方法?
答案 0 :(得分:0)
如果从main运行其他脚本(通过使用import),则您所要求的内容实际上是有效的,并且始终使用config.
来限制设置访问权限。如果单独启动其他脚本,则它们不会共享main的相同名称空间,因此您必须保留设置并从磁盘或环境中读取它们。