11.8. dbm —シンプルな「データベース」インターフェース—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/2.7/library/dbm
移動先:案内検索

11.8。 dbm —シンプルな「データベース」インターフェース

ノート

dbm モジュールは、Python3でdbm.ndbmに名前が変更されました。 2to3 ツールは、ソースをPython 3に変換するときに、インポートを自動的に適応させます。


dbm モジュールは、Unixの「(n)dbm」ライブラリへのインターフェイスを提供します。 Dbmオブジェクトは、キーと値が常に文字列であることを除いて、マッピング(辞書)のように動作します。 dbmオブジェクトを印刷してもキーと値は印刷されず、items()およびvalues()メソッドはサポートされていません。

このモジュールは、「クラシック」ndbmインターフェース、BSD DB互換性インターフェース、またはGNUGDBM互換性インターフェースで使用できます。 Unixでは、 configure スクリプトは、このモジュールの構築を簡素化するために適切なヘッダーファイルを見つけようとします。

モジュールは以下を定義します:

exception dbm.error
I / Oエラーなどのdbm固有のエラーで発生します。 KeyErrorは、誤ったキーの指定などの一般的なマッピングエラーに対して発生します。
dbm.library
使用されているndbm実装ライブラリの名前。
dbm.open(filename[, flag[, mode]])

dbmデータベースを開き、dbmオブジェクトを返します。 filename 引数は、データベースファイルの名前です(.dirまたは.pag拡張子なし。インターフェイスのBSDDB実装は拡張子.dbそして1つのファイルのみを作成します)。

オプションの flag 引数は、次のいずれかの値である必要があります。

価値

意味

'r'

読み取り専用で既存のデータベースを開く(デフォルト)

'w'

読み取りと書き込みのために既存のデータベースを開く

'c'

読み取りと書き込み用にデータベースを開き、データベースが存在しない場合は作成します

'n'

常に新しい空のデータベースを作成し、読み取りと書き込みのために開いてください

オプションの mode 引数は、ファイルのUnixモードであり、データベースを作成する必要がある場合にのみ使用されます。 デフォルトは8進数0666です(一般的なumaskによって変更されます)。

辞書のようなメソッドに加えて、dbmオブジェクトは次のメソッドを提供します。

dbm.close()

dbmデータベースを閉じます。

も参照してください

モジュール anydbm
dbmスタイルのデータベースへの汎用インターフェース。
モジュール gdbm
GNUGDBMライブラリと同様のインターフェース。
モジュール whichdb
既存のデータベースのタイプを判別するために使用されるユーティリティモジュール。