2.1 KiB
2.1 KiB
Задача 4. Работа с JSON и файлами (ООП, JSON, Исключения)
Постановка
- Конфигурация: Умеет читать и писать настройки в JSON-файл.
- Приложение: Использует конфигурацию для хранения состояния.
Задание
Класс Config:
- Создайте класс
Config. - В
__init__(self, filename)сохраните имя файла. - Метод
load(self)— читает JSON-файл и возвращает словарь. Если файла нет, перехватываетFileNotFoundErrorи возвращает пустой словарь{}. - Метод
save(self, data)— записывает словарьdataв JSON-файл с отступами (indent=4) и кодировкойutf-8. - Метод
get(self, key, default=None)— загружает данные и возвращает значение по ключу илиdefault. - Метод
set(self, key, value)— загружает данные, устанавливает новое значение, сохраняет обратно.
Класс Application:
- Создайте класс
Application. - В
__init__(self, config)сохраните объектConfig. - Метод
run(self)— выводит приветствие с именем пользователя из конфига (ключ"username"), по умолчанию"Гость". - Метод
set_username(self, name)— сохраняет имя в конфиг черезconfig.set.
Тесты:
- Создайте
Config("settings.json")иApplication(config) - Запустите приложение (должно вывести "Гость")
- Установите имя через
set_username("Иван") - Запустите снова (должно вывести "Иван")
- Проверьте, что файл
settings.jsonсоздался и содержит правильные данные