データ永続化(DBMファイル)

2056 ワード

DBMファイルは、キーで格納されたテキスト文字列にアクセスします.オブジェクトはDBMファイルに格納され、各オブジェクトは一意のキーに対応し、このキーでオブジェクトにアクセスできます.
>>> import dbm
>>> file = dbm.open('movie','c')
>>> file['Batman'] = 'Pow!'
>>> file

>>> file.keys()
[b'Batman']
>>> file['Batman']
b'Pow!'
>>> file.close()

開く
説明
'r'
Open existing database for reading only (default)
'w'
Open existing database for reading and writing
'c'
Open database for reading and writing, creating it if it doesn’t exist
'n'
Always create a new, empty database, open for reading and writing
上記の例ではdbmファイルを作成し、データ・オブジェクトを格納し、キーでオブジェクトを取得する方法を示します.
開く
説明
'r'
Open existing database for reading only (default)
'w'
Open existing database for reading and writing
'c'
Open database for reading and writing, creating it if it doesn’t exist
'n'
Always create a new, empty database, open for reading and writing
DBMファイルには、キーが文字列で、ファイルを開いてからアクセスする必要があります.変更後はファイルを閉じる必要があります.DBMファイルはキーと値をbytesタイプのオブジェクトとして格納します.decodeで復号できます.
>>> for key in file: print(key.decode(),file[key].decode())
>>> del file['Batman']
>>> file.close()

操作
説明
import dbm
インポート
file = dbm.open('filename','c')
dbmファイルを作成または開く
file['key'] = 'value'
キーに対応する値の作成または変更
value = file['key']
キーに対応する値を取得
count = len(file)
fileに格納されているオブジェクトの数を取得
index = file.keys()
キーリストの取得
found = 'key' in file
fileにkey対応オブジェクトがあるかどうかを問い合わせる
del file['key']
削除キーに対応するオブジェクト
for key in file:
すべてのキーを反復
file.close()
操作完了ファイルを手動で閉じる
1つのDBMファイルは2つのファイル、filenameに対応する.dirとfilenamedat. DBMファイルには文字列で表すデータ構造しか格納できません.