This document is for an old version of Python that is no longer supported. You should upgrade, and read the Python documentation for the current stable release.

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

Модулі, описані в цьому розділі, підтримують збереження даних 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.gnu` — GNU’s reinterpretation of dbm
  - `dbm.ndbm` — Interface based on ndbm
  - `dbm.dumb` — Переносна реалізація DBM
- `sqlite3` — DB-API 2.0 interface for SQLite databases
  - Module functions and constants
  - Connection Objects
  - Cursor Objects
  - Row Objects
  - Винятки
  - Типи SQLite і Python
    - Introduction
    - Using adapters to store additional Python types in SQLite databases
      - Letting your object adapt itself
      - Registering an adapter callable
    - Converting SQLite values to custom Python types
    - Default adapters and converters
  - Controlling Transactions
  - Using `sqlite3` efficiently
    - Using shortcut methods
    - Accessing columns by name instead of by index
    - Using the connection as a context manager