python使用dbm持久字典(python微型數據庫)詳解
在一些python小型應用程序中,不需要關系型數據庫時,可以方便的用持久字典來存儲名稱/值對,它與python的字典非常類似,主要區別在于數據是在磁盤讀取和寫入的。另一個區別在于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的方式有三種:
標志用法
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()
本文由用戶 ybw8 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!