# Постійність даних

Модулі, описані в цьому розділі, підтримують збереження даних Python у постійній формі на диску. Модулі `pickle` і `marshal` можуть перетворювати багато типів даних Python на потік байтів і потім відтворювати об’єкти з байтів. Різні модулі, пов’язані з DBM, підтримують сімейство форматів файлів на основі хешу, які зберігають відображення рядків в інші рядки.

Перелік модулів, описаних у цьому розділі:

- `pickle` — Python object serialization
  - Зв’язок з іншими модулями Python
    - Порівняння з `маршалом`
    - Порівняння з `json`
  - Формат потоку даних
  - Інтерфейс модуля
  - Що можна маринувати і не квашети?
  - Примірники класу маринування
    - Постійність зовнішніх об’єктів
    - Таблиці відправлення
    - Обробка об’єктів із збереженням стану
  - Спеціальне скорочення для типів, функцій та інших об’єктів
  - Позасмугові буфери
    - API провайдера
    - Споживацький API
    - приклад
  - Обмеження Globals
  - Продуктивність
  - Приклади
- `copyreg` — Register `pickle` support functions
  - приклад
- `shelve` — Python object persistence
  - Обмеження
  - приклад
- `marshal` — Internal Python object serialization
- `dbm` — Interfaces to Unix «databases»
  - `dbm.sqlite3` — SQLite backend for dbm
  - `dbm.gnu` — GNU database manager
  - `dbm.ndbm` — New Database Manager
  - `dbm.dumb` — Переносна реалізація DBM
- `sqlite3` — DB-API 2.0 interface for SQLite databases
  - Підручник
  - Посилання
    - Module functions
    - Module constants
    - Connection objects
    - Cursor objects
    - Row objects
    - Blob objects
    - PrepareProtocol objects
    - Винятки
    - Типи SQLite і Python
    - Default adapters and converters (deprecated)
    - Command-line interface
  - How-to guides
    - How to use placeholders to bind values in SQL queries
    - How to adapt custom Python types to SQLite values
      - How to write adaptable objects
      - How to register adapter callables
    - How to convert SQLite values to custom Python types
    - Adapter and converter recipes
    - How to use connection shortcut methods
    - How to use the connection context manager
    - How to work with SQLite URIs
    - How to create and use row factories
    - How to handle non-UTF-8 text encodings
  - Пояснення
    - Transaction control
      - Transaction control via the `autocommit` attribute
      - Transaction control via the `isolation_level` attribute