如何从另一个文件更改cfg.py文件中的变量?

时间:2017-11-15 11:41:39

标签: python namespaces save config

我试图创建一个配置文件来存储我将在另一个文件中播放的一些值。但后来我希望另一个主文件更改配置文件中的变量,如下所示:

我的配置文件:

#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的引用。

1 个答案:

答案 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