Глава 15 · Python и файлы
Как выбрать формат хранения данных
Прежде чем сохранять данные, стоит спросить: а в каком виде их сохранить?
Один и тот же вопрос, разные форматы
Как из главы 11 знаком словарь:
igrok_slovar.py
igrok = {
"name": "Anna",
"score": 1200,
"skills": ["Python", "Git"],
}
Как сохранить такую структуру в файл? str(igrok) технически
сработает, но это не настоящий формат для обмена данными — его неудобно и небезопасно
разбирать обратно. Нужен формат хранения, у которого есть чёткие правила
записи и чтения.
Сериализация
Сериализация и десериализация
Сериализация — превращение структуры Python (словаря, списка, объекта) в представление, которое можно сохранить или передать (текст или байты). Десериализация — восстановление структуры данных обратно из этого представления.
dict / list
{"name": "Anna", ...}
сериализация
↓JSON-текст
сериализовано
↓
файл на диске
Как выбрать формат
Какой формат хранения выбрать
Простой человекочитаемый текст — заметки, лог
→
обычный текстовый файл (главы 15.1-15.4)
Таблица со строками и столбцами
→
CSV (раздел 15.27)
Вложенная структура — словари, списки, настройки, сохранение игры
→
JSON (раздел 15.25)
Картинка, звук, произвольные не-текстовые данные
→
бинарный формат (раздел 15.17)
Ни один формат не «лучший всегда»
Выбор формата — это решение под конкретную задачу, а не вопрос моды. Плоский текст подходит для заметок, но плохо подходит для вложенных структур; JSON отлично сохраняет структуру, но плохо подходит для таблиц с тысячами одинаковых строк, где куда удобнее CSV.
Практика: выбираем формат хранения
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки