我正在尝试创建一个配置文件来存储一些我将在另一个文件中播放的值。但是,我希望另一个主文件像这样更改配置文件中的变量:
我的配置文件:
#cfg.py
a = [2,3,4]
我的主文件:
#main.py
import cfg
print(cfg.a)
cfg.a[1] = 10
print(cfg.a)
它返回
[2,3,4]
[2,10,4]
这很好,但是当我关闭所有内容并再次查看我的 cfg.py 时,cfg.py 文件中 a 的值没有更改。我错过了什么吗?我是否应该使用某种保存函数来确保我将新值写入文件?还是我以完全错误的方式做到这一点?
似乎我正在更改 cfg.a 的实例,而不是原始 cfg.py 文件中对 a 的引用。
您可以使用"configobj"包进行一些小的调整。
配置文件可以是这样的:
#cfg.py
a = 2,3,4
然后在 python 中:
import configobj
conf = configobj.ConfigObj("cfg.py")
conf["a"][1] = 10
conf.write() # Actually writes changes to file