如何从另一个文件更改 cfg.py 文件中的变量?
How to change variables in a cfg.py file from another file?
我正在尝试创建一个配置文件来存储我将在另一个文件中使用的一些值。但是我想要另一个主文件来更改配置文件中的变量,如下所示:
我的配置文件:
#cfg.py
a = [2,3,4]
我的主文件:
#main.py
import cfg
print(cfg.a)
cfg.a[1] = 10
print(cfg.a)
它returns
[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
我正在尝试创建一个配置文件来存储我将在另一个文件中使用的一些值。但是我想要另一个主文件来更改配置文件中的变量,如下所示:
我的配置文件:
#cfg.py
a = [2,3,4]
我的主文件:
#main.py
import cfg
print(cfg.a)
cfg.a[1] = 10
print(cfg.a)
它returns
[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