11.10. dbhash — BSDデータベースライブラリへのDBMスタイルのインターフェイス—Pythonドキュメント
11.10。 dbhash —BSDデータベースライブラリへのDBMスタイルのインターフェイス
バージョン2.6以降非推奨: dbhash モジュールはPython3で削除されました。
dbhash モジュールは、BSD db
ライブラリを使用してデータベースを開く機能を提供します。 このモジュールは、DBMスタイルのデータベースへのアクセスを提供する他のPythonデータベースモジュールのインターフェースをミラーリングします。 dbhash を使用するには、 bsddb モジュールが必要です。
このモジュールは、例外と機能を提供します。
- exception dbhash.error
KeyError
以外のデータベースエラーで例外が発生しました。bsddb.error
の同義語です。
- dbhash.open(path[, flag[, mode]])
db
データベースを開き、データベースオブジェクトを返します。 path 引数は、データベースファイルの名前です。flag 引数は次のようになります。
価値
意味
'r'
読み取り専用で既存のデータベースを開く(デフォルト)
'w'
読み取りと書き込みのために既存のデータベースを開く
'c'
読み取りと書き込み用にデータベースを開き、データベースが存在しない場合は作成します
'n'
常に新しい空のデータベースを作成し、読み取りと書き込みのために開いてください
BSD
db
ライブラリがロックをサポートしているプラットフォームの場合、'l'
を追加して、ロックを使用する必要があることを示すことができます。オプションの mode パラメーターは、新しいデータベースを作成する必要がある場合に設定する必要があるUnix許可ビットを示すために使用されます。 これは、プロセスの現在のumask値によってマスクされます。
も参照してください
- モジュール anydbm
dbm
スタイルのデータベースへの汎用インターフェース。- モジュール bsddb
- BSD
db
ライブラリへの低レベルのインターフェイス。 - モジュール whichdb
- 既存のデータベースのタイプを判別するために使用されるユーティリティモジュール。
11.10.1。 データベースオブジェクト
open()によって返されるデータベースオブジェクトは、すべてのDBMスタイルのデータベースとマッピングオブジェクトに共通のメソッドを提供します。 標準の方法に加えて、以下の方法が利用できます。
- dbhash.first()
- このメソッドと
next()
メソッドを使用して、データベース内のすべてのキーと値のペアをループすることができます。 トラバーサルはデータベースの内部ハッシュ値によって順序付けられ、キー値によってソートされません。 このメソッドは開始キーを返します。
- dbhash.last()
- データベーストラバーサルの最後のキーと値のペアを返します。 これは、逆順トラバーサルを開始するために使用できます。 previous()を参照してください。
- dbhash.next()
データベーストラバーサル内のキーの次のキー/値ペアを返します。 次のコードは、データベース
db
内のすべてのキーを出力しますが、それらすべてを含むリストをメモリ内に作成する必要はありません。print db.first() for i in xrange(1, len(db)): print db.next()
- dbhash.previous()
- データベースの順方向トラバーサルで前のキーと値のペアを返します。 last()と組み合わせて、これを使用して逆順トラバーサルを実装できます。
- dbhash.sync()
- このメソッドは、書き込まれていないデータを強制的にディスクに書き込みます。