persistence.md
1> **Источник:** https://python-all.ru/3.8/library/persistence.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# Персистентность данных89Модули, описанные в этой главе, поддерживают сохранение данных Python на диск в персистентной форме. Модули [`pickle`](https://python-all.ru/3.8/library/pickle.html#module-pickle) и [`marshal`](https://python-all.ru/3.8/library/marshal.html#module-marshal) могут преобразовывать многие типы данных Python в поток байтов, а затем восстанавливать объекты из байтов. Различные модули, связанные с DBM, поддерживают семейство хеш-форматов файлов, которые хранят отображение строк на другие строки.1011Список модулей, описанных в этой главе:1213- [`pickle` – Сериализация объектов Python](https://python-all.ru/3.8/library/pickle.html)1415 - [Связь с другими модулями Python](https://python-all.ru/3.8/library/pickle.html#relationship-to-other-python-modules)1617 - [Сравнение с `marshal`](https://python-all.ru/3.8/library/pickle.html#comparison-with-marshal)18 - [Сравнение с `json`](https://python-all.ru/3.8/library/pickle.html#comparison-with-json)19 - [Формат потока данных](https://python-all.ru/3.8/library/pickle.html#data-stream-format)20 - [Интерфейс модуля](https://python-all.ru/3.8/library/pickle.html#module-interface)21 - [Что можно сериализовать и десериализовать?](https://python-all.ru/3.8/library/pickle.html#what-can-be-pickled-and-unpickled)22 - [Сериализация экземпляров классов](https://python-all.ru/3.8/library/pickle.html#pickling-class-instances)2324 - [Сохранение внешних объектов](https://python-all.ru/3.8/library/pickle.html#persistence-of-external-objects)25 - [Диспетчерские таблицы](https://python-all.ru/3.8/library/pickle.html#dispatch-tables)26 - [Обработка объектов с состоянием](https://python-all.ru/3.8/library/pickle.html#handling-stateful-objects)27 - [Пользовательская редукция для типов, функций и других объектов](https://python-all.ru/3.8/library/pickle.html#custom-reduction-for-types-functions-and-other-objects)28 - [Внеполосные буферы](https://python-all.ru/3.8/library/pickle.html#out-of-band-buffers)2930 - [API провайдера](https://python-all.ru/3.8/library/pickle.html#provider-api)31 - [API потребителя](https://python-all.ru/3.8/library/pickle.html#consumer-api)32 - [Пример](https://python-all.ru/3.8/library/pickle.html#example)33 - [Ограничение глобальных переменных](https://python-all.ru/3.8/library/pickle.html#restricting-globals)34 - [Производительность](https://python-all.ru/3.8/library/pickle.html#performance)35 - [Примеры](https://python-all.ru/3.8/library/pickle.html#examples)36- [`copyreg` – Регистрация вспомогательных функций `pickle`](https://python-all.ru/3.8/library/copyreg.html)3738 - [Пример](https://python-all.ru/3.8/library/copyreg.html#example)39- [`shelve` – Персистентность объектов Python](https://python-all.ru/3.8/library/shelve.html)4041 - [Ограничения](https://python-all.ru/3.8/library/shelve.html#restrictions)42 - [Пример](https://python-all.ru/3.8/library/shelve.html#example)43- [`marshal` – Внутренняя сериализация объектов Python](https://python-all.ru/3.8/library/marshal.html)44- [`dbm` – Интерфейсы к Unix-«базам данных»](https://python-all.ru/3.8/library/dbm.html)4546 - [`dbm.gnu` – переосмысление dbm от GNU](https://python-all.ru/3.8/library/dbm.html#module-dbm.gnu)47 - [`dbm.ndbm` – интерфейс на основе ndbm](https://python-all.ru/3.8/library/dbm.html#module-dbm.ndbm)48 - [`dbm.dumb` – Переносимая реализация DBM](https://python-all.ru/3.8/library/dbm.html#module-dbm.dumb)49- [`sqlite3` – Интерфейс DB-API 2.0 для баз данных SQLite](https://python-all.ru/3.8/library/sqlite3.html)5051 - [Функции и константы модуля](https://python-all.ru/3.8/library/sqlite3.html#module-functions-and-constants)52 - [Объекты соединений](https://python-all.ru/3.8/library/sqlite3.html#connection-objects)53 - [Объекты Cursor](https://python-all.ru/3.8/library/sqlite3.html#cursor-objects)54 - [Объекты Row](https://python-all.ru/3.8/library/sqlite3.html#row-objects)55 - [Исключения](https://python-all.ru/3.8/library/sqlite3.html#exceptions)56 - [Типы SQLite и Python](https://python-all.ru/3.8/library/sqlite3.html#sqlite-and-python-types)5758 - [Введение](https://python-all.ru/3.8/library/sqlite3.html#introduction)59 - [Использование адаптеров для хранения дополнительных типов Python в базах данных SQLite](https://python-all.ru/3.8/library/sqlite3.html#using-adapters-to-store-additional-python-types-in-sqlite-databases)6061 - [Адаптация объекта самостоятельно](https://python-all.ru/3.8/library/sqlite3.html#letting-your-object-adapt-itself)62 - [Регистрация вызываемого адаптера](https://python-all.ru/3.8/library/sqlite3.html#registering-an-adapter-callable)63 - [Преобразование значений SQLite в пользовательские типы Python](https://python-all.ru/3.8/library/sqlite3.html#converting-sqlite-values-to-custom-python-types)64 - [Адаптеры и преобразователи по умолчанию](https://python-all.ru/3.8/library/sqlite3.html#default-adapters-and-converters)65 - [Управление транзакциями](https://python-all.ru/3.8/library/sqlite3.html#controlling-transactions)66 - [Эффективное использование `sqlite3`](https://python-all.ru/3.8/library/sqlite3.html#using-sqlite3-efficiently)6768 - [Использование сокращённых методов](https://python-all.ru/3.8/library/sqlite3.html#using-shortcut-methods)69 - [Доступ к столбцам по имени, а не по индексу](https://python-all.ru/3.8/library/sqlite3.html#accessing-columns-by-name-instead-of-by-index)70 - [Использование соединения в качестве контекстного менеджера](https://python-all.ru/3.8/library/sqlite3.html#using-the-connection-as-a-context-manager)71