我试图创建一个配置文件来存储我将在另一个文件中播放的一些值。但后来我希望另一个主文件更改配置文件中的变量,如下所示:
我的配置文件:
#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的引用。
答案 0 :(得分:1)
你可以使用“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