### ナビゲーション

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

# 12.8. `dbm` — UNIX dbmのシンプルなインタフェース

プラットフォーム: Unix

ノート

`dbm` モジュールは、Python 3.0では `dbm.ndbm` に変更されました。 2to3 ツールは、自動的に import を修正します。

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

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

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

exception `dbm.``error`

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

`dbm.``library`

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

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

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

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

  Value | Meaning
  --- | ---
  `'r'` | 存在するデータベースを読取り専用で開きます。(デフォルト)
  `'w'` | 存在するデータベースを読み書き可能な状態で開きます。
  `'c'` | データベースを読み書き可能な状態で開きます。 また、データベースが存在しない場合は新たに作成します。
  `'n'` | 常に空のデータベースが作成され、読み書き可能な状態で開きます。

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

参考

Module `anydbm`
  `dbm` スタイルの一般的なインタフェース
Module `gdbm`
  GNU GDBMライブラリの類似したインタフェース
Module `whichdb`
  存在しているデータベースの形式を決めるためのユーティリティモジュール

### ナビゲーション

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