Unixプラットフォームで利用できます。
このモジュールは dbm モジュールに
よく似ていますが、gdbm を使っていくつかの追加機能を提供しています。
gdbm と dbm では生成されるファイル形式に互換性がないので
注意してください。
gdbm モジュールでは GNU DBM ライブラリへのインタフェースを
提供します。gdbm オブジェクトはキーと値が常に文字列である
ことを除き、マップ型 (辞書型) と同じように動作します。
gdbm オブジェクトに対して print を適用しても
キーや値を印字することはなく、items() 及び values()
メソッドはサポートされていません。
このモジュールでは以下の定数および関数を定義しています:
gdbm 特有のエラーで送出されます。
誤ったキーの指定のように、一般的なマップ型のエラーに対しては
KeyError が送出されます。
| filename, [flag, [mode]]) |
gdbm データベースを開いて gdbm オブジェクトを返します。
filename 引数はデータベースファイルの名前です。
オプションの flag としては、
'r' (既存のデータベースを読み込み専用で開く -- 標準の値です)、
'w' (既存のデータベースを読み書き用に開く)、
'c' (既存のデータベースが存在しない場合には新たに作成する)、または
'n' (常に新たにデータベースを作成する)、をとることができます。
データベースをどのように開くかを制御するために、フラグに以下の文字を 追加することができます:
'f' -- データベースを高速モードで開きます。このモードではデータベースへの書き込みはファイルシステムと同期されません。
's' -- 同期モードで開きます。データベースへの変更はファイルに即座いに書き込まれます。
'u' -- データベースをロックしません。
全てのバージョンの gdbm で全てのフラグが有効とは限りません。
モジュール定数 open_flags はサポートされているフラグ文字
からなる文字列です。無効なフラグが指定された場合、例外 error
が送出されます。
オプションの mode 引数は、新たにデータベースを作成しなければならない
場合に使われる Unix のファイルモードです。標準の値は 8 進数の
0666 です。
辞書型形式のメソッドに加えて、gdbm オブジェクトには以下のメソッド
があります:
| ) |
gdbm の
内部ハッシュ値の順番に行われ、キーの値に順に並んでいるとは限りません。
このメソッドは最初のキーを返します。
| key) |
db に
ついて、キー全てを含むリストをメモリ上に生成することなく
全てのキーを出力します:
k = db.firstkey()
while k != None:
print k
k = db.nextkey(k)
| ) |
gdbm ファイルの占めるスペースを
削減したい場合、このルーチンはデータベースを再組織化します。
この再組織化を使う以外に gdbm はデータベースファイルの
大きさを短くすることはありません; そうでない場合、削除された
部分のファイルスペースは保持され、新たな (キー、値の) ペアが追加
される際に再利用されます。
| ) |
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。