Просмотр поста

.
MobiLike

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()