このモジュールは、dbm モジュールとよく似ていますが、gdbm を 使うことによりいくつかの追加機能が提供されます。gdbm と dbm により作成されるファイルのフォーマットには互換性が無いことに注意してください。
gdbm モジュールは、GNU の DBM ライブラリとのインターフェースを提供 します。gdbm オブジェクトは、キーと値が常に文字列であること以外は マッピング(ディクショナリ)と同様に扱うことができます。 gdbm をプリントさせようとしても、キーと値は出力されません。また、 items() や values() メソッドもサポートしていません。
このモジュールには、以下の定数と関数が定義されています。
オプションの引数 flag には、次の値を指定することができます。 'r'(既存のデータベースを、読み込み専用モードでオープンします −− デフォルト)、'w'(既存のデータベースを、読み込み/書き込みモードで オープンします)、'c'(存在しなければデータベースを作成します)、 'n'(常に新しい空のデータベースを作成します)。
データベースを高速モードでオープンする場合には、flag に f を追加して ください。この時には、全ての変更が終わった後に、変更データがディスクに自動的に 書き込まれます。このことにより、結果的にデータベースへの書き込みが高速にはなり ますが、データベースをオープンしたままプログラムがクラッシュした場合には、 矛盾したデータベースになってしまう可能性があります。書き込まれていないデータを、 強制的にディスクに書き込むためには、sync() メソッドを使用してください。
オプションの引数 mode は、Unix のファイルモードです。データベースが 作成されなければならない時にだけ使用してください。デフォルト値は、8進の 0666 です。
さらに、gdbm オブジェクトは、ディクショナリのような以下のメソッドも 持っています。
k=db.firstkey() while k!=None: print k k=db.nextkey(k)
guido@python.org