Python 如何从另一个文件更改cfg.py文件中的变量?
我正在尝试创建一个配置文件来存储我将在另一个文件中使用的一些值。但我希望另一个主文件更改配置文件中的变量,如下所示: 我的配置文件:Python 如何从另一个文件更改cfg.py文件中的变量?,python,namespaces,save,config,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.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
使用
configParser
而不是导入模块时,由文件支持的事实是一个实现细节。想象一下这个文件并不存在。是的,认识彼得很高兴,谢谢。我将研究其他方案来实现这一点。