Sitego, Ok.
Создаём объект: config = ConfigParser()
потом читаем файл: config.read(path)
Видим, что в нем нет того что нам надо: if id_list is None:
Удаляем файл: os.remove(path)
И записываем в новый файл тот же самый объект в котором уже хранятся данные из предыдущего файла + новые "правильные" данные
Решение: пересоздать объект, или очистить
Удалять файл не обязательно, с этим справляется: open(path, "w")
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
from configparser import ConfigParser
config = ConfigParser()
path = "settings.ini"
def config_create():
config.clear() # config = ConfigParser()
config.add_section("id")
# Список доступных идентификаторов
config.set("id", "list", '0, 1')
# открытие на запись, содержимое файла удаляется, если файла не существует, создается новый.
with open(path, "w") as f:
config.write(f)
def config_read():
# Если файла нет: создаём
if not os.path.exists(path):
config_create()
config.read(path)
# Читаем значения из конфиг. файла.
id_list = config.get("id", "list", fallback=None)
if id_list is None:
# Создать новый конфиг.
print("Файл настроек поврежден")
config_create()
config_read()
return
else:
print(id_list)
if __name__ == "__main__":
config_read()