# 11 `dbhash` -- BSD データベースライブラリへの DBM 形式のインタフェース

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

`dbhash` モジュールでは BSD `db` ライブラリを使って データベースを開くための関数を提供します。このモジュールは、 DBM 形式 のデータベースへのアクセスを提供する他の Python データベースモジュールの インタフェースをそのまま反映しています。 `dbhash` を使うには `bsddb` モジュールが必要です。

このモジュールでは一つの例外と一つの関数を提供しています:

exception `error`
  `KeyError` 以外のデータベースのエラーで送出されます。 `bsddb.error` と同じ意味です。

`open`( | path[, flag[, mode]])

  データベース `db` を開き、データベースオブジェクトを返します。 引数 path はデータベースファイルの名前です。

  引数 flag は `'r'` (標準の値)、 `'w'`、`'c'` (データベースが存在しない場合には作成する)、あるいは `'n'` (常に新たな空のデータベースを作成する) をとることができます。 BSD `db` ライブラリがファイルロックをサポートするような プラットフォームでは、ロックを使うよう示すために "`l`" を追加することができます。

  オプションの mode 引数は、新たにデータベースを作成しなければ ならないときにデータベースファイルに設定すべき Unix ファイル権限 ビットを表すために使われます; この値はプロセスの現在の umask 値で マスクされます。

参考:

`anydbm`:モジュール
  `dbm` 形式のデータベースへの汎用インタフェース。.

`bsddb`:モジュール
  BSD `db` ライブラリへの低レベルインタフェース。.

`whichdb`:モジュール
  既存のデータベースがどの形式のデータベースか判定する ユーティリティモジュール。.