我有一个配置文件,其中包含多个具有相同名称的键。
[parentnode]
parentname = Name of parent
child = Name of first child
child = Name of second child
child = Name of third child
child = Name of fourth child
我需要能够读取此文件,进行修改并将其写入其他文件。我试图查看是否可以读取配置文件并将其正确写入,而无需进行任何更改。
import configparser
from collections import OrderedDict
class MultiOrderedDict(OrderedDict):
def __setitem__(self, key, value):
if isinstance(value, list) and key in self:
self[key].extend(value)
else:
super(MultiOrderedDict, self).__setitem__(key, value)
configParser = configparser.ConfigParser(defaults=None, dict_type=MultiOrderedDict, strict=False)
configParser.read('test.config')
with open('output.config', 'w') as configfile:
configParser.write(configfile)
但是,在输出文件中,没有child
键,得到了以下内容。如何确保使用configparser.write()
编写的输出文件与输入文件相同?
[parentnode]
parentname = Name of parent
child = Name of first child
Name of second child
Name of third child
Name of fourth child