Pythonデータの永続性-dbmパッケージ
dbmパッケージは、インターフェイスDBMスタイルのデータベースのような辞書を提供します。 DBM stands for DataBase Manager。これは、UNIX(およびUNIXライクな)オペレーティングシステムによって使用されます。dbbmライブラリは、KenThompsonによって作成された単純なデータベースエンジンです。これらのデータベースは、バイナリエンコードされた文字列オブジェクトをキーおよび値として使用します。
データベースは、単一のキー(主キー)を使用して固定サイズのバケットにデータを格納し、ハッシュ技術を使用してキーによるデータの高速取得を可能にします。
dbmパッケージには、次のモジュールが含まれています-
dbm.gnu モジュールは、GNUプロジェクトによって実装されたDBMライブラリバージョンへのインターフェイスです。
dbm.ndbm モジュールは、UNIXnbdm実装へのインターフェースを提供します。
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()関数は、これらのフラグのモードを許可します-
シニア番号 | 価値と意味 |
---|---|
1 | 'r' 読み取り専用で既存のデータベースを開く(デフォルト) |
2 | 'w' 読み取りと書き込みのために既存のデータベースを開く |
3 | 'c' 読み取りと書き込み用にデータベースを開き、データベースが存在しない場合は作成します |
4 | 'n' 常に新しい空のデータベースを作成し、読み取りと書き込み用に開きます |
dbmオブジェクトは、シェルフオブジェクトと同様に、オブジェクトのような辞書です。したがって、すべての辞書操作を実行できます。dbmオブジェクトは、get()、pop()、append()、およびupdate()メソッドを呼び出すことができます。次のコードは、「r」フラグを指定して「mydbm.db」を開き、キーと値のペアのコレクションを繰り返し処理します。
>>> 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'