添加新选项configparser

时间:2018-09-11 14:49:55

标签: python python-3.x configparser

当我向某个部分添加新选项并写入文件进行配置时,它似乎总是会复制该部分,并使用新选项添加​​新选项。

理想情况下,我希望避免出现这种情况,并且只保留一个部分,我该如何实现?

示例出现

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进行两次安装。任何人都可以给我的建议,我将不胜感激。

1 个答案:

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