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
はデータベースファイルの
大きさを短くすることはありません; そうでない場合、削除された
部分のファイルスペースは保持され、新たな (キー、値の) ペアが追加
される際に再利用されます。
) |
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。