Python configparser как-то дублирует параметры в исходном файле - PullRequest
1 голос
/ 30 марта 2020

Итак, я пытаюсь получить параметры из configfile1 и записать их в configfile2, просто.

Это прекрасно работает, если бы не тот факт, что что-то изменилось в configfile1. После того, как я использую парсер для записи в файл2, каким-то образом дублируются параметры в файле1.

Инициализация парсера:

def __init__(self):
    self.parser = configparser.ConfigParser()

Вот код:

def parseOptions(self):
    self.parser.clear()
    self.parser.read(sourceQgisIniFile)
    toBeImportedDictionary = dict(self.parser.items('qgis'))
    toBeImportedDictionary = dict(filter(lambda item: 'test' in item[0], toBeImportedDictionary.items()))

    self.parser.clear()
    self.parser.read(targetQgisIniFile)

    for dataSource in toBeImportedDictionary:
        self.parser.set('qgis', dataSource, toBeImportedDictionary[dataSource])

    with open(targetQgisIniFile, 'w') as qgisconf:
    self.parser.write(qgisconf)

Исходный файл в /home/user/.local/share/QGIS/QGIS3/profiles/default/QGIS/QGIS3.ini

и цель в /home/user/.local/share/QGIS/QGIS3/profiles/test/QGIS/QGIS3.ini

Я попытался использовать два анализатора, по одному для каждого файла, но это не сработало.

...