11.12. dumbdbm — 可搬性のある DBM 実装 — Python 2.7ja1 documentation

### ナビゲーション

- 索引
- モジュール |
- 次へ |
- 前へ |
- Python 2.7ja1 documentation »
- Python 標準ライブラリ »
- 11. データの永続化 »

# 11.12. `dumbdbm` — 可搬性のある DBM 実装

ノート

`dumbdbm` モジュールは、 Python 3.0 では `dbm.dumb` にリネームされます。 2to3 ツールが自動的にimportを修正します。

ノート

`dumbdbm` モジュールは、 `anydbm` が安定なモジュールを他に見つけることができなかった際の最後の手段とされています。 `dumbdbm` モジュールは速度を重視して書かれているわけではなく、他のデータベースモジュールのように重い使い方をするためのものではありません。

`dumbdbm` モジュールは永続性辞書に類似したインタフェースを提供し、全て Python で書かれています。 `gdbm` や `bsddb` といったモジュールと異なり、外部ライブラリは必要ありません。他の永続性マップ型のように、キーおよび値は常に文字列でなければなりません。

このモジュールでは以下の内容を定義してします:

exception `dumbdbm.` `error`

  I/O エラーのような dumbdbm 特有のエラーの際に送出されます。不正なキーを指定したときのような、一般的な対応付けエラーの際には `KeyError` が送出されます。

`dumbdbm.` `open`(filename[, flag[, mode]])

  dumbdbm データベースを開き、 dubmdbm オブジェクトを返します。 filename 引数はデータベースファイル名の雛型 (特定の拡張子をもたないもの) です。dumbdbm データベースが生成される際、 `.dat` および `.dir` の拡張子を持ったファイルが生成されます。

  オプションの flag 引数は現状では無視されます; データベースは常に更新のために開かれ、存在しない場合には新たに作成されます。

  オプションの mode 引数は Unix におけるファイルのモードで、データベースを作成する際に使われます。デフォルトでは 8 進コードの `0666` になっています (umask によって修正を受けます)。

  バージョン 2.2 で変更: mode 引数は以前のバージョンでは無視されます.

参考

Module `anydbm`
  `dbm` 形式のデータベースに対する汎用インタフェース。
Module `dbm`
  DBM/NDBM ライブラリに対する同様のインタフェース。
Module `gdbm`
  GNU GDBM ライブラリに対する同様のインタフェース。
Module `shelve`
  非文字列データを記録する永続化モジュール。
Module `whichdb`
  既存のデータベースの形式を判定するために使われるユーティリティモジュール。

## 11.12.1. Dumbdbm オブジェクト

`UserDict.DictMixin` クラスで提供されているメソッドに加え、 `dumbdbm` オブジェクトでは以下のメソッドを提供しています。

`dumbdbm.` `sync`()

  ディスク上の辞書とデータファイルを同期します。このメソッドは `Shelve` オブジェクトの `sync()` メソッドから呼び出されます。

### ナビゲーション

- 索引
- モジュール |
- 次へ |
- 前へ |
- Python 2.7ja1 documentation »
- Python 標準ライブラリ »
- 11. データの永続化 »