13.8 dbm -- UNIX dbmのシンプルなインタフェース

Unixプラットフォームで利用できます。

dbmモジュールはUnix(n)dbmインタフェースの ライブラリを提供します。dbmオブジェクトは、キーと値が必ず文字列である以外は 辞書オブジェクトのようなふるまいをします。 print文などでdbmインスタンスを出力してもキーと値は出力されません。 また、items()values()メソッドはサポートされません。

このモジュールは、BSD DB、GNU GDBM互換インタフェースを持った クラシックなndbmインタフェースを使うことができます。 Unix上のビルド時にconfigureスクリプトで適切なヘッダファイルが 割り当られます。

以下はこのモジュールの定義:

exception error
I/Oエラーのようなdbm特有のエラーが起ったときに上げられる値です。 また、正しくないキーが与えられた場合に通常のマッピングエラーのような KeyErrorが上げられます。

library
ndbmが使用している実装ライブラリ名です。

open( filename[, flag[, mode]])
dbmデータベースを開いてdbmオブジェクトを返します。 引数filenameはデータベースのファイル名を指定します。 (拡張子.dir.pagは付けません。 また、BSD DBは拡張子.dbがついたファイルが一つ作成されます。)

オプション引数flagは次のような値を指定します:

Value Meaning
'r' 存在するデータベースを読取り専用で開きます。(デフォルト)
'w' 存在するデータベースを読み書き可能な状態で開きます。
'c' データベースを読み書き可能な状態で開きます。 また、データベースが存在しない場合は新たに作成します。
'n' Always create a new, empty database, open for reading and writing
'n' 常に空のデータベースが作成され、読み書き可能な状態で開きます。

オプション引数modeはデータベース作成時に使用される Unixのファイルモードを指定します。デフォルトでは8進数の0666です

参考:

anydbm:モジュール
dbmスタイルの一般的なインタフェース.
gdbm:モジュール
GNU GDBMライブラリの類似したインタフェース.
whichdb:モジュール
存在しているデータベースの形式を決めるための ユーティリティモジュール.
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。