データの永続化
**************

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

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

* "pickle" --- Python オブジェクトの直列化

  * 他の Python モジュールとの関係

    * "marshal" との比較

    * "json" との比較

  * データストリームの形式

  * モジュールインターフェース

  * pickle 化、非 pickle 化できるもの

  * クラスインスタンスの pickle 化

    * 外部オブジェクトの永続化

    * ディスパッチテーブル

    * 状態を持つオブジェクトの扱い

  * 型、関数、その他のオブジェクトに対するリダクションのカスタマイズ

  * アウトオブバウンドバッファ

    * 生産者 API

    * 消費者 API

    * 使用例

  * グローバル変数を制限する

  * 性能

  * 使用例

  * コマンドライン・インターフェース

* "copyreg" --- "pickle" サポート関数を登録する

  * 使用例

* "shelve" --- Python オブジェクトの永続化

  * 制限事項

  * 使用例

* "marshal" --- 内部使用向けの Python オブジェクト直列化

* "dbm" --- Unix "データベース" へのインターフェース

  * "dbm.sqlite3" --- SQLite backend for dbm

  * "dbm.gnu" --- GNU database manager

  * "dbm.ndbm" --- New Database Manager

  * "dbm.dumb" --- Portable DBM implementation

* "sqlite3" --- SQLite データベース用の DB-API 2.0 インターフェース

  * チュートリアル

  * リファレンス

    * モジュール関数

    * モジュール定数

    * Connection オブジェクト

    * Cursor オブジェクト

    * Row オブジェクト

    * Blob オブジェクト

    * PrepareProtocol オブジェクト

    * 例外

    * SQLite と Python の型

    * デフォルトの適合関数(adapters)とデフォルトの変換関数
      (converters)(非推奨)

    * コマンドライン・インターフェース

  * ハウツー・ガイド

    * プレースホルダを使用して SQL クエリに値を結び付ける方法

    * カスタム Python 型を SQLite 値に適合させる方法

      * 適合可能オブジェクトの書き方

      * 適合用呼び出し可能オブジェクト(adapter callables)の登録方法

    * SQLite 値をカスタム Python 型に変換する方法

    * 適合関数と変換関数のレシピ集

    * 接続(connection)ショートカット・メソッドの使い方

    * 接続(connection)コンテキストマネージャの使い方

    * SQLite URI の操作方法

    * 行工場(row factories)の作成方法と使用方法

    * How to handle non-UTF-8 text encodings

  * 説明

    * トランザクション制御

      * "autocommit" 属性に依るトランザクション制御

      * "isolation_level" 属性に依るトランザクション制御
