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

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

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

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

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

    * 12.1.1.1. "marshal" との比較

    * 12.1.1.2. "json" との比較

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

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

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

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

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

    * 12.1.5.2. ディスパッチテーブル

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

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

  * 12.1.7. 性能

  * 12.1.8. 使用例

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

  * 12.2.1. 使用例

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

  * 12.3.1. 制限事項

  * 12.3.2. 使用例

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

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

  * 12.5.1. "dbm.gnu" --- GNU による dbm 拡張

  * 12.5.2. "dbm.ndbm" --- ndbm に基づくインタフェース

  * 12.5.3. "dbm.dumb" --- 可搬性のある DBM 実装

* 12.6. "sqlite3" --- SQLite データベースに対する DB-API 2.0 インタフ
  ェース

  * 12.6.1. モジュールの関数と定数

  * 12.6.2. Connection オブジェクト

  * 12.6.3. カーソルオブジェクト

  * 12.6.4. Row オブジェクト

  * 12.6.5. 例外

  * 12.6.6. SQLite と Python の型

    * 12.6.6.1. はじめに

    * 12.6.6.2. 追加された Python の型を SQLite データベースに格納する
      ために適合関数を使う

      * 12.6.6.2.1. オブジェクト自身で適合するようにする

      * 12.6.6.2.2. 適合関数を登録する

    * 12.6.6.3. SQLite の値を好きな Python 型に変換する

    * 12.6.6.4. デフォルトの適合関数と変換関数

  * 12.6.7. トランザクション制御

  * 12.6.8. "sqlite3" の効率的な使い方

    * 12.6.8.1. ショートカットメソッドを使う

    * 12.6.8.2. 位置ではなく名前でカラムにアクセスする

    * 12.6.8.3. コネクションをコンテキストマネージャーとして利用する

  * 12.6.9. 既知の問題

    * 12.6.9.1. マルチスレッド
