Python 資料持久化 - dbm 包



dbm 包提供了一個類似字典的介面,用於 DBM 風格的資料庫。DBM 代表資料庫管理器 (DataBase Manager)。它被 UNIX(以及類 UNIX)作業系統使用。dbbm 庫是由 Ken Thompson 編寫的簡單資料庫引擎。這些資料庫使用二進位制編碼的字串物件作為鍵和值。

資料庫透過使用單個鍵(主鍵)在固定大小的桶中儲存資料,並使用雜湊技術來實現透過鍵快速檢索資料。

dbm 包包含以下模組:

  • dbm.gnu 模組是 GNU 專案實現的 DBM 庫版本的介面。

  • dbm.ndbm 模組提供與 UNIX ndbm 實現的介面。

  • 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 物件是一個類似字典的物件,就像 shelf 物件一樣。因此,可以執行所有字典操作。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'
廣告
© . All rights reserved.