Обновить файл INI без удаления комментариев

Рассмотрим следующий файл INI:

[TestSettings]
# First comment goes here
environment = test

[Browser]
# Second comment goes here
browser = chrome
chromedriver = default

...

Я использую Python 2.7 для обновления ini файла:

config = ConfigParser.ConfigParser()
config.read(path_to_ini)
config.set('TestSettings','environment',r'some_other_value')

with open(path_to_ini, 'wb') as configfile:
    config.write(configfile)

Как обновить INI файл, не удаляя комментарии. Файл INI обновляется, но комментарии удаляются.

[TestSettings]
environment = some_other_value

[Browser]
browser = chrome
chromedriver = default

Ответ 1

ConfigObj сохраняет comments при чтении и писать INI файлы, и, похоже, делает то, что вы хотите. Пример использования описанного сценария:

from configobj import ConfigObj

config = ConfigObj(path_to_ini)
config['TestSettings']['environment'] = 'some_other_value'
config.write()