Глава 15 · Python и файлы

Как выбрать формат хранения данных

Прежде чем сохранять данные, стоит спросить: а в каком виде их сохранить?

Один и тот же вопрос, разные форматы

Как из главы 11 знаком словарь:

igrok_slovar.py
igrok = {
    "name": "Anna",
    "score": 1200,
    "skills": ["Python", "Git"],
}

Как сохранить такую структуру в файл? str(igrok) технически сработает, но это не настоящий формат для обмена данными — его неудобно и небезопасно разбирать обратно. Нужен формат хранения, у которого есть чёткие правила записи и чтения.

Сериализация

Сериализация и десериализация
Сериализация — превращение структуры Python (словаря, списка, объекта) в представление, которое можно сохранить или передать (текст или байты). Десериализация — восстановление структуры данных обратно из этого представления.
dict / list
{"name": "Anna", ...}
сериализация
JSON-текст
сериализовано
файл на диске
Сериализация превращает объекты Python в сохраняемый текст.

Как выбрать формат

Какой формат хранения выбрать
Простой человекочитаемый текст — заметки, лог
обычный текстовый файл (главы 15.1-15.4)
Таблица со строками и столбцами
CSV (раздел 15.27)
Вложенная структура — словари, списки, настройки, сохранение игры
JSON (раздел 15.25)
Картинка, звук, произвольные не-текстовые данные
бинарный формат (раздел 15.17)
Ни один формат не «лучший всегда»
Выбор формата — это решение под конкретную задачу, а не вопрос моды. Плоский текст подходит для заметок, но плохо подходит для вложенных структур; JSON отлично сохраняет структуру, но плохо подходит для таблиц с тысячами одинаковых строк, где куда удобнее CSV.
Практика: выбираем формат хранения
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки
Открыть практику →