11.10. dbhash — BSDデータベースライブラリへのDBMスタイルのインターフェイス—Pythonドキュメント

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

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()
このメソッドは、書き込まれていないデータを強制的にディスクに書き込みます。