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

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

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

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

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

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

  * 11.1.3. 使用法

  * 11.1.4. 何を pickle 化したり unpickle 化できるのか?

  * 11.1.5. pickle 化プロトコル

    * 11.1.5.1. 通常のクラスインスタンスの pickle 化および unpickle
      化

    * 11.1.5.2. 拡張型の pickle 化および unpickle 化

    * 11.1.5.3. 外部オブジェクトの pickle 化および unpickle 化

  * 11.1.6. Unpickler をサブクラス化する

  * 11.1.7. 例

* 11.2. "cPickle" --- より高速な "pickle"

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

  * 11.3.1. 例

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

  * 11.4.1. 制限事項

  * 11.4.2. 例

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

* 11.6. "anydbm" --- DBM 形式のデータベースへの汎用アクセスインタフ
  ェ ース

* 11.7. "whichdb" --- どの DBM モジュールがデータベースを作ったかを
  推 測する

* 11.8. "dbm" --- UNIX dbmのシンプルなインタフェース

* 11.9. "gdbm" --- GNU による dbm の再実装

* 11.10. "dbhash" --- BSD データベースライブラリへの DBM 形式のイン
  タ フェース

  * 11.10.1. データベースオブジェクト

* 11.11. "bsddb" --- Berkeley DB ライブラリへのインタフェース

  * 11.11.1. ハッシュ、BTree、およびレコードオブジェクト

* 11.12. "dumbdbm" --- 可搬性のある DBM 実装

  * 11.12.1. Dumbdbm オブジェクト

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

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

  * 11.13.2. Connection オブジェクト

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

  * 11.13.4. Row オブジェクト

  * 11.13.5. SQLite と Python の型

    * 11.13.5.1. はじめに

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

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

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

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

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

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

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

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

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

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

  * 11.13.8. 既知の問題

    * 11.13.8.1. マルチスレッド
