【问题标题】:Python: Configparser: Adding item to section deletes other itemsPython:Configparser:将项目添加到部分会删除其他项目
【发布时间】:2020-12-01 20:51:35
【问题描述】:

我有以下文件:

main.py:

import configparser


config = configparser.ConfigParser()
config.add_section('section 1')
config.set('section 1', 'item3', 'c')

with open('file.txt', 'w') as configFile:
    config.write(configFile)

file.txt:

[section 1]
item1 = a
item2 = b

运行 main.py 时,我希望将 item3 = c 添加到 section 1 而不删除任何其他项目,但它会导致以下 file.txt

[section 1]
item3 = c

我该如何解决这个问题?

【问题讨论】:

    标签: python-3.x configparser


    【解决方案1】:

    在添加 item3 之前,请先尝试读取现有文件!否则,您只是在创建一个不包含文件内容的全新配置。另外,我认为您不需要创建该部分,因为它会在您读取现有文件时被解析。

    config.read('file.txt')
    

    【讨论】:

    • 有点奇怪的行为,但已经解决了,谢谢
    • 不客气。但这一点也不奇怪。除非您首先读入文件,否则您的配置对象将不包含文件中的项目。当您打开 file.txt 进行写入时,其现有内容将被覆盖。一个需要理解的重要概念!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-11
    • 2014-09-07
    • 1970-01-01
    相关资源
    最近更新 更多