当我向某个部分添加新选项并写入文件进行配置时,它似乎总是会复制该部分,并使用新选项添加新选项。
理想情况下,我希望避免出现这种情况,并且只保留一个部分,我该如何实现?
示例出现
config.add_section("Install")
config.set("Install", "apt_installer", "True")
cfile = open("file.cfg", "w")
config.write(cfile)
cfile.close()
config.read("file.cfg")
config.set("Install", "deb_installer", "True")
cfile = open("file.cfg", "a")
config.write(cfile)
cfile.close()
当您打开file.cfg时,它将使用apt_installer进行两次安装,使用apt_installer和deb_installer进行两次安装。任何人都可以给我的建议,我将不胜感激。
答案 0 :(得分:2)
我认为这里的问题是您正在以append
模式打开文件。尝试更改行:
cfile = open("file.cfg", "a")
与
cfile = open("file.cfg", "w")
还应该添加以下几行:
import configparser
config = configparser.ConfigParser()
在顶部,以使您的示例正常工作。因此,最终您的示例应如下所示:
import configparser
config = configparser.ConfigParser()
config.add_section("Install")
config.set("Install", "apt_installer", "True")
cfile = open("file.cfg", "w")
config.write(cfile)
cfile.close()
r = config.read("file.cfg")
config.set("Install", "deb_installer", "True")
cfile = open("file.cfg", "w")
config.write(cfile)
cfile.close()