Files
a-limasov 6a71058531 Тема 3. Коммит 1: Модуль хранения данных
- Создан модуль storage.py
- Функция save_tasks_to_file() - сохранение в JSON
- Функция load_tasks_from_file() - загрузка из JSON
- Обработка ошибок: FileNotFoundError, JSONDecodeError
2026-08-28 12:22:52 +03:00

45 lines
1.3 KiB
Python

"""
Модуль для сохранения и загрузки данных
Работа с файлами JSON
"""
import json
from task import Task
def save_tasks_to_file(tasks, filename="tasks.json"):
"""Сохранить список задач в файл JSON"""
data = []
for task in tasks:
data.append({
"title": task.title,
"description": task.description,
"completed": task.completed
})
with open(filename, "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
return True
def load_tasks_from_file(filename="tasks.json"):
"""Загрузить список задач из файла JSON"""
try:
with open(filename, "r", encoding="utf-8") as f:
data = json.load(f)
tasks = []
for item in data:
task = Task(item["title"], item.get("description", ""))
if item.get("completed", False):
task.mark_complete()
tasks.append(task)
return tasks
except FileNotFoundError:
return []
except json.JSONDecodeError:
print("Ошибка чтения файла. Данные могут быть повреждены.")
return []