Документация Python неофициальный перевод

persistence.md

72 строк · 8.1 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/2.7/library/persistence.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# 11. Персистентность данных89Модули, описанные в этой главе, обеспечивают сохранение данных Python на диске в постоянной форме. Модули [`pickle`](https://python-all.ru/2.7/library/pickle.html#module-pickle) и [`marshal`](https://python-all.ru/2.7/library/marshal.html#module-marshal) могут преобразовывать многие типы данных Python в поток байтов, а затем воссоздавать объекты из этих байтов. Различные модули, связанные с DBM, поддерживают семейство хешированных файловых форматов, хранящих отображение строк в другие строки. Модуль [`bsddb`](https://python-all.ru/2.7/library/bsddb.html#module-bsddb) также предоставляет такие дисковые отображения строк в строки на основе хеширования, а также поддерживает форматы на основе B-деревьев и записей.1011Список модулей, описанных в этой главе:1213- [11.1. `pickle` – сериализация объектов Python](https://python-all.ru/2.7/library/pickle.html)1415  - [11.1.1. Отношение к другим модулям Python](https://python-all.ru/2.7/library/pickle.html#relationship-to-other-python-modules)16  - [11.1.2. Формат потока данных](https://python-all.ru/2.7/library/pickle.html#data-stream-format)17  - [11.1.3. Использование](https://python-all.ru/2.7/library/pickle.html#usage)18  - [11.1.4. Что можно сериализовать и десериализовать?](https://python-all.ru/2.7/library/pickle.html#what-can-be-pickled-and-unpickled)19  - [11.1.5. Протокол pickle](https://python-all.ru/2.7/library/pickle.html#the-pickle-protocol)2021    - [11.1.5.1. Упаковка и распаковка обычных экземпляров классов](https://python-all.ru/2.7/library/pickle.html#pickling-and-unpickling-normal-class-instances)22    - [11.1.5.2. Упаковка и распаковка расширенных типов](https://python-all.ru/2.7/library/pickle.html#pickling-and-unpickling-extension-types)23    - [11.1.5.3. Упаковка и распаковка внешних объектов](https://python-all.ru/2.7/library/pickle.html#pickling-and-unpickling-external-objects)24  - [11.1.6. Создание подклассов Unpickler](https://python-all.ru/2.7/library/pickle.html#subclassing-unpicklers)25  - [11.1.7. Пример](https://python-all.ru/2.7/library/pickle.html#example)26- [11.2. `cPickle` – Более быстрый `pickle`](https://python-all.ru/2.7/library/pickle.html#module-cPickle)27- [11.3. `copy_reg` – Регистрация вспомогательных функций `pickle`](https://python-all.ru/2.7/library/copy_reg.html)2829  - [11.3.1. Пример](https://python-all.ru/2.7/library/copy_reg.html#example)30- [11.4. `shelve` – Сохранение объектов Python](https://python-all.ru/2.7/library/shelve.html)3132  - [11.4.1. Ограничения](https://python-all.ru/2.7/library/shelve.html#restrictions)33  - [11.4.2. Пример](https://python-all.ru/2.7/library/shelve.html#example)34- [11.5. `marshal` – Внутренняя сериализация объектов Python](https://python-all.ru/2.7/library/marshal.html)35- [11.6. `anydbm` – Общий доступ к базам данных в стиле DBM](https://python-all.ru/2.7/library/anydbm.html)36- [11.7. `whichdb` – Определение модуля DBM, создавшего базу данных](https://python-all.ru/2.7/library/whichdb.html)37- [11.8. `dbm` – Простой интерфейс «базы данных»](https://python-all.ru/2.7/library/dbm.html)38- [11.9. `gdbm` – Реализация dbm от GNU](https://python-all.ru/2.7/library/gdbm.html)39- [11.10. `dbhash` – Интерфейс в стиле DBM к библиотеке баз данных BSD](https://python-all.ru/2.7/library/dbhash.html)4041  - [11.10.1. Объекты базы данных](https://python-all.ru/2.7/library/dbhash.html#database-objects)42- [11.11. `bsddb` – Интерфейс к библиотеке Berkeley DB](https://python-all.ru/2.7/library/bsddb.html)4344  - [11.11.1. Объекты Hash, BTree и Record](https://python-all.ru/2.7/library/bsddb.html#hash-btree-and-record-objects)45- [11.12. `dumbdbm` – Переносимая реализация DBM](https://python-all.ru/2.7/library/dumbdbm.html)4647  - [11.12.1. Объекты Dumbdbm](https://python-all.ru/2.7/library/dumbdbm.html#dumbdbm-objects)48- [11.13. `sqlite3` – Интерфейс DB-API 2.0 для баз данных SQLite](https://python-all.ru/2.7/library/sqlite3.html)4950  - [11.13.1. Функции и константы модуля](https://python-all.ru/2.7/library/sqlite3.html#module-functions-and-constants)51  - [11.13.2. Объекты соединения](https://python-all.ru/2.7/library/sqlite3.html#connection-objects)52  - [11.13.3. Объекты курсора](https://python-all.ru/2.7/library/sqlite3.html#cursor-objects)53  - [11.13.4. Объекты строки](https://python-all.ru/2.7/library/sqlite3.html#row-objects)54  - [11.13.5. Типы SQLite и Python](https://python-all.ru/2.7/library/sqlite3.html#sqlite-and-python-types)5556    - [11.13.5.1. Введение](https://python-all.ru/2.7/library/sqlite3.html#introduction)57    - [11.13.5.2. Использование адаптеров для хранения дополнительных типов Python в базах данных SQLite](https://python-all.ru/2.7/library/sqlite3.html#using-adapters-to-store-additional-python-types-in-sqlite-databases)5859      - [11.13.5.2.1. Адаптация объекта самостоятельно](https://python-all.ru/2.7/library/sqlite3.html#letting-your-object-adapt-itself)60      - [11.13.5.2.2. Регистрация вызываемого адаптера](https://python-all.ru/2.7/library/sqlite3.html#registering-an-adapter-callable)61    - [11.13.5.3. Преобразование значений SQLite в пользовательские типы Python](https://python-all.ru/2.7/library/sqlite3.html#converting-sqlite-values-to-custom-python-types)62    - [11.13.5.4. Стандартные адаптеры и преобразователи](https://python-all.ru/2.7/library/sqlite3.html#default-adapters-and-converters)63  - [11.13.6. Управление транзакциями](https://python-all.ru/2.7/library/sqlite3.html#controlling-transactions)64  - [11.13.7. Эффективное использование `sqlite3`](https://python-all.ru/2.7/library/sqlite3.html#using-sqlite3-efficiently)6566    - [11.13.7.1. Использование сокращённых методов](https://python-all.ru/2.7/library/sqlite3.html#using-shortcut-methods)67    - [11.13.7.2. Доступ к столбцам по имени вместо индекса](https://python-all.ru/2.7/library/sqlite3.html#accessing-columns-by-name-instead-of-by-index)68    - [11.13.7.3. Использование соединения как менеджера контекста](https://python-all.ru/2.7/library/sqlite3.html#using-the-connection-as-a-context-manager)69  - [11.13.8. Типичные проблемы](https://python-all.ru/2.7/library/sqlite3.html#common-issues)7071    - [11.13.8.1. Многопоточность](https://python-all.ru/2.7/library/sqlite3.html#multithreading)72