dbm永続辞書(Pythonマイクロデータベース)を使ったPythonの詳しい説明

高洛峰
リリース: 2016-10-18 13:51:54
オリジナル
1969 人が閲覧しました

一部の小規模な Python アプリケーションでは、リレーショナル データベースが必要ない場合、名前と値のペアを保存するために永続ディクショナリを使用すると便利です。これは Python ディクショナリとよく似ています。主な違いは、データの読み取りと書き込みが行われることです。ディスク上にあります。もう 1 つの違いは、dbm のキーと値が文字列型である必要があることです。

1. dbm モジュールを選択します

Python は多くの dbm モジュールをサポートしていますが、残念ながら、各 dbm モジュールによって作成されたファイルには互換性がありません。

次の表に、これらのモジュールを示します。

モジュールの説明

dbm 最適な dbm モジュールを選択します

dbm.dumb は、dbm ライブラリのシンプルだが移植可能な実装を使用します

dbm.gnu は、GNU dbm ライブラリを使用します

一般に、 dbm ライブラリに特別な高度な機能がない限り、dbm モジュールを使用してください。

2. 永続辞書を作成します

import dbm
db = dbm.open('Bookmark', 'c')
#添加选项
db['MyBlog'] = 'jonathanlife.sinaapp.com'
print(db['MyBlog'])
#保存,关闭
db.close()
ログイン後にコピー

open 関数には dbm を開く 3 つの方法があります:

フラグの使用法

C 読み取りおよび書き込みのためにファイルを開き、必要に応じてファイルを作成します

W 読み取りのためにファイルを開きますファイルが存在しない場合、ファイルは作成されません

N は読み取りと書き込みのためにファイルを開きますが、常に新しい空のファイルが作成されます


を表す別のオプションの引数を渡すことも可能ですUNIX ファイル権限のセットを保持するモードについては、ここでは詳しく説明しません。

3. 永続辞書にアクセスします

open 関数から返されたオブジェクトは辞書オブジェクトとみなされます。値のアクセス方法は以下のとおりです:

db[‘key’] = ‘value’
value = db[‘key’]
#删除值:
del db[‘key’]
#遍历所有key:
for key in db.keys():
   #your code here
ログイン後にコピー

コード例:

import dbm
#open existing file
db = dbm.open('websites', 'w')
#add item
db['first_data'] = 'Hello world'
    
#verify the previous item remains
if db['first_data'] != None:
    print('the data exists')
else:
    print('Missing item')
   
#iterate over the keys, may be slow
for key in db.keys():
    print("Key=",key," value=",db[key])
   
#delete item
del db['first_data']
   
#close and save to disk
db.close()
ログイン後にコピー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート