添加新选项configparser时重复部分

问题描述 投票:3回答:1

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

理想情况下,我想避免这个,只有一个部分,我该如何实现?

示例发生

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。任何人都可以提供任何建议我会很感激。

python python-3.x configparser
1个回答
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()
© www.soinside.com 2019 - 2024. All rights reserved.