11.8。 dbm —シンプルな「データベース」インターフェース
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
データベースを閉じます。