添加新选项 configparser 时的重复部分

Duplicate section when adding a new option 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。任何人都可以提供任何建议,我将不胜感激。

我认为这里的问题是您在 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()