configparser python

При попытке записать данные в ини файл, старые данные из него стираются. Почему так? В документации всё работает, а у меня нет. Вот часть кода, отвечающая за это:

config['DEFAULT']['path'] = filedialog.askdirectory()

    with open('config.ini', 'w') as configfile:
        config.write(configfile)

там есть параметр window_size, но он стирается, как только я записываю это

Кстати, если я создаю какую-либо секцию кроме как [DEFAULT], выходит ошибка о том, что такой секции нет


Ответы (1 шт):

Автор решения: Tehnorobot

При попытке записать данные в ини файл, старые данные из него стираются.

Данные, которые хранятся в вашем файле, перезаписываются, так как вы используете ключ w. Вам нужен ключ на добавление, то есть a - > with open('config.ini', 'a').

Ключ a откроет файл для добавления нового содержимого. Или же создаст новый файл для записи, если не найдет с указанным именем.

Подробнее вы можете прочесть здесь

Если вы хотите видоизменить в секции значение ключа, то сделайте так:

config.set('имя секции', 'window_size', '0')

Тогда оставьте запись на открытие файла прежним:

with open('config.ini', 'w') as configfile:
        config.write(configfile)
→ Ссылка