Unix, Windowsプラットフォームで利用できます。
bsddb モジュールは Berkeley DB ライブラリへのインタフェース を提供します。ユーザは適当な open 呼び出しを使うことで、 ハッシュ、B-Tree、 またはレコードに基づくデータベースファイルを生成 することができます。bsddb オブジェクトは辞書と大体同じように振る舞い ます。しかし、キー及び値は文字列でなければならないので、 他のオブジェクトをキーとして使ったり、他の種のオブジェクトを記録 したい場合、それらのデータを何らかの方法で直列化しなければなりません。 これには通常 marshal.dumps() や pickle.dumps() が使われます。
bsddb モジュールは、バージョン 3.3 から 4.4 までの間の Berkeley DB ライブラリを必要とします。
参考:
より新しい DB である DBEnv や DBSequence オブジェクトのインターフェースも bsddb.db モジュールで使用できます。これは、上の URL で説明されている Sleepycat Berkeley DB C API によりマッチしています。bsddb.db API が提供する追加機能には、チューニングやトランザクション、 ログ出力、マルチプロセス環境でのデータベースへの同時アクセスなどがあります。
以下では、従来のbsddbモジュールと互換性のある、古いインターフェースを解 説しています。Python 2.5 以降、このインターフェースはマルチスレッドに対応しています。 マルチスレッドを使用する場合は bsddb.db API を推奨します。 こちらのほうがスレッドをよりうまく制御できるからです。
bsddb モジュールでは、適切な形式の Berkeley DB ファイルに アクセスするオブジェクトを生成する以下の関数を定義しています。 各関数の最初の二つの引数は同じです。可搬性のために、ほとんどの インスタンスでは最初の二つの引数だけが使われているはずです。
filename[, flag[, mode[, bsize[, ffactor[, nelem[, cachesize[, hash[, lorder]]]]]]]]) |
None
を指定することで、ディスクに保存する
つもりがないファイルを生成することもできます。
オプションの flag には、ファイルを開くためのモードを指定します。
このモードは
"r" (読み出し専用), "w" (読み書き可能)、
"c" (読み書き可能 - 必要ならファイルを生成 … これがデフォルトです) または
"n" (読み書き可能 - ファイル長を 0 に切り詰め)、にすることが
できます。他の引数はほとんど使われることはなく、下位レベルの
dbopen() 関数に渡されるだけです。他の引数の使い方
およびその解釈については Berkeley DB のドキュメントを読んで下さい。
filename[, flag[, mode[, btflags[, cachesize[, maxkeypage[, minkeypage[, pgsize[, lorder]]]]]]]]) |
None
を指定することで、ディスクに保存する
つもりがないファイルを生成することもできます。
オプションの flag には、ファイルを開くためのモードを指定します。
このモードは
"r" (読み出し専用)、 "w" (読み書き可能)、
"c" (読み書き可能 - 必要ならファイルを生成 … これがデフォルトです)、または
"n" (読み書き可能 - ファイル長を 0 に切り詰め)、にすることが
できます。他の引数はほとんど使われることはなく、下位レベルの
dbopen() 関数に渡されるだけです。他の引数の使い方
およびその解釈については Berkeley DB のドキュメントを読んで下さい。
filename[, flag[, mode[, rnflags[, cachesize[, pgsize[, lorder[, reclen[, bval[, bfname]]]]]]]]]) |
None
を指定することで、ディスクに保存する
つもりがないファイルを生成することもできます、
オプションの flag には、ファイルを開くためのモードを指定します、
このモードは
"r" (読み出し専用), "w" (読み書き可能)、
"c" (読み書き可能 - 必要ならファイルを生成 … これがデフォルトです)、または
"n" (読み書き可能 - ファイル長を 0 に切り詰め)、にすることが
できます。他の引数はほとんど使われることはなく、下位レベルの
dbopen() 関数に渡されるだけです、他の引数の使い方
およびその解釈については Berkeley DB のドキュメントを読んで下さい。
参考: