# 7.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`モジュール:
  既存のデータベースがどの形式のデータベースか判定する ユーティリティモジュール。.