Python 與 Unix 資料庫 (dbm) 介面
Python 內建庫中的 dbm 包提供了一個類似字典的介面,用於 DBM 風格的資料庫。dbm 庫是一個簡單的資料庫引擎,由 Ken Thompson 編寫。DBM 代表資料庫管理器 (DataBase Manager),用於 Unix 作業系統,該庫使用單個鍵(主鍵)將任意資料儲存在固定大小的桶中,並使用雜湊技術透過鍵快速檢索資料。
dbm 包中包含以下模組:
dbm.ndbm 模組提供與 Unix “(n)dbm” 庫的介面。Dbm 物件的行為類似於字典,鍵和值應儲存為位元組。該模組不支援 items() 和 values() 方法。
dbm.dumb 模組提供了一個永續性字典式介面,完全用 Python 編寫。與 dbm.gnu 等其他模組不同,它不需要外部庫。與其他永續性對映一樣,鍵和值始終儲存為位元組。
這些模組在 Python 的 shelve 模組中被內部使用。與 shelve 資料庫一樣,使用者指定的資料庫名稱帶有 '.dir' 字尾。dbm 物件的 whichdb() 函式指示當前 Python 安裝中可用的 dbm 實現。
>>> dbm.whichdb('mydbm.db')‘dbm.dumb’
>>> db = dbm.open('mydbm.db','n')
>>> db['name'] = Rajani Deshmukh'
>>> db['address'] = 'Shivajinagar Pune'
>>> db['PIN'] = '431001'
>>> db.close()open() 函式允許使用這些標誌:
值 | 含義 |
|---|---|
| ‘r’ | 以只讀方式開啟現有資料庫(預設) |
| ‘w’ | 以讀寫方式開啟現有資料庫 |
| ‘c’ | 以讀寫方式開啟資料庫,如果資料庫不存在則建立它 |
| ‘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' : Rajani Deshmukh'
b'address' : b'Shivajinagar Pune'
b'PIN' : b'431001'dbm 物件還提供以下方法:
**sync():** 同步磁碟上的目錄和資料檔案。此方法由 Shelve.sync() 方法呼叫。
**close():** 關閉 dbm 資料庫。
gnu dbm 物件具有以下方法:
firstkey()
可以使用此方法和 nextkey() 方法遍歷資料庫中的每個鍵。此方法返回起始鍵。
**gdbm.nextkey(key):** 返回遍歷中跟隨 key 的鍵。
**gdbm.reorganize():** 此函式將重新組織資料庫。gnu dbm 物件不會縮短資料庫檔案的長度,除非使用此重新組織功能;否則,已刪除的檔案空間將被保留並被重新用作新增新的 (鍵,值) 對。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP