これは既にサポートされていない古いバージョンの Python のドキュメントです。 是非 Python をアップグレードし、このドキュメントを読みましょう: 現在の安定板リリースの Python ドキュメント.

# データの永続化

この章で解説されるモジュール群は Python データをディスクに永続的な形式で保存します。モジュール `pickle` とモジュール `marshal` は多くの Python データ型をバイト列に変換し、バイト列から再生成します。様々な DBM 関連モジュールはハッシュを基にした、文字列から他の文字列へのマップを保存するファイルフォーマット群をサポートします。

この章で解説されるモジュールのリスト:

- `pickle` --- Python オブジェクトの直列化
  - 他の Python モジュールとの関係
    - `marshal` との比較
    - `json` との比較
  - データストリームの形式
  - モジュールインタフェース
  - pickle 化、非 pickle 化できるもの
  - クラスインスタンスの pickle 化
    - 外部オブジェクトの永続化
    - ディスパッチテーブル
    - 状態を持つオブジェクトの扱い
  - 型、関数、その他のオブジェクトに対するリダクションのカスタマイズ
  - アウトオブバウンドバッファ
    - 生産者 API
    - 消費者 API
    - 使用例
  - グローバル変数を制限する
  - 性能
  - 使用例
- `copyreg` --- `pickle` サポート関数を登録する
  - 使用例
- `shelve` --- Python オブジェクトの永続化
  - 制限事項
  - 使用例
- `marshal` --- 内部使用向けの Python オブジェクト整列化
- `dbm` --- Unix "データベース" へのインタフェース
  - `dbm.gnu` --- GNU による dbm 拡張
  - `dbm.ndbm` --- ndbm に基づくインタフェース
  - `dbm.dumb` --- 可搬性のある DBM 実装
- `sqlite3` --- SQLite データベースに対する DB-API 2.0 インタフェース
  - モジュールの関数と定数
  - Connection オブジェクト
  - カーソルオブジェクト
  - Row オブジェクト
  - 例外
  - SQLite と Python の型
    - はじめに
    - 追加された Python の型を SQLite データベースに格納するために適合関数を使う
      - オブジェクト自身で適合するようにする
      - 適合関数を登録する
    - SQLite の値を好きな Python 型に変換する
    - デフォルトの適合関数と変換関数
  - トランザクション制御
  - `sqlite3` の効率的な使い方
    - ショートカットメソッドを使う
    - 位置ではなく名前でカラムにアクセスする
    - コネクションをコンテキストマネージャーとして利用する