Я использую ConfigObj (5.0.6, оба на python 2.7 и python 3.8) для управления своими конфигами, но когда я пишу в файл конфигурации с некоторыми разделами, представленными только в configspe c, они появляются только как пустые разделы, что нежелательно. Буду признателен за любые предложения по исправлению такого поведения ConfigObj.
Минимальный пример того, что происходит:
from configobj import ConfigObj
from validate import Validator
spec = ["[Section]", "option = boolean(default=True)"]
config = ConfigObj(infile={'Section2': {'option2': False}}, configspec=spec)
config.validate(Validator())
print(config)
print(config.write())
Вывод:
{'Section2': {'option2': False}, 'Section': {'option': True}}
['[Section2]', ' option2 = False', '[Section]']
Желаемый вывод (при записи не должно быть пустых разделов):
{'Section2': {'option2': False}, 'Section': {'option': True}}
['[Section2]', ' option2 = False']
Редактировать 1: я использую write () для фактической записи в файл, поэтому я бы предпочел не просто возиться с возвращенным списком строк