Как прочитать конфигурационный файл с несколькими ключами с помощью python3 configparser? - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть файл конфигурации с несколькими ключами с одинаковым именем.

[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
...