Python-data-persistence-dbm-package

提供:Dev Guides
移動先:案内検索

Pythonデータの永続性-dbmパッケージ

dbmパッケージは、インターフェイスDBMスタイルのデータベースのような辞書を提供します。 * DBMはデータベースマネージャーの略です*。 これはUNIX(およびUNIXに似た)オペレーティングシステムで使用されます。 dbbmライブラリは、ケントンプソンが作成したシンプルなデータベースエンジンです。 これらのデータベースは、バイナリエンコードされた文字列オブジェクトをキーと値として使用します。

データベースは、単一のキー(主キー)を使用してデータを固定サイズのバケットに格納し、ハッシュ技術を使用して、キーによるデータの高速取得を可能にします。

dbmパッケージには次のモジュールが含まれています-

  • dbm.gnu モジュールは、GNUプロジェクトによって実装されるDBMライブラリバージョンへのインターフェイスです。
  • dbm.ndbm モジュールは、UNIX nbdm実装へのインターフェースを提供します。
  • dbm.dumb は、イベントのフォールバックオプションとして使用されます。他のdbm実装は見つかりません。 これには外部の依存関係は必要ありませんが、他のものより遅いです。
>>> dbm.whichdb('mydbm.db')
'dbm.dumb'
>>> import dbm
>>> db=dbm.open('mydbm.db','n')
>>> db['name']=Raj Deshmane'
>>> db['address']='Kirtinagar Pune'
>>> db['PIN']='431101'
>>> db.close()

open()関数は、これらのフラグのモードを許可します-

Sr.No. Value & Meaning
1

'r'

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

2

'w'

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

3

'c'

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

4

'n'

常に新しい空のデータベースを作成し、読み取りおよび書き込み用に開く

dbmオブジェクトは、シェルフオブジェクトと同じように、ディクショナリのようなオブジェクトです。 したがって、すべての辞書操作を実行できます。 dbmオブジェクトは、get()、pop()、append()およびupdate()メソッドを呼び出すことができます。 次のコードは、「mydbm.db」を「r」フラグで開いて、キーと値のペアのコレクションを反復処理します。

>>> db=dbm.open('mydbm.db','r')
>>> for k,v in db.items():
   print (k,v)
b'name' : b'Raj Deshmane'
b'address' : b'Kirtinagar Pune'
b'PIN' : b'431101'