做自(zì)由與創造的先行者

數據持久性 | Data Persistence dbhash

Python開(kāi)發手冊

自(zì)2.6版以來(lái)已棄用(yòng):該dbhash模塊已在Python 3中删除。

該dbhash模塊提供了(le)使用(yòng)BSD db庫打開(kāi)數據庫的功能(néng)。該模塊反映了(le)提供對(duì)DBM式數據庫訪問權的其他(tā)Python數據庫模塊的接口。該bsddb模塊需要使用(yòng)dbhash。

該模塊提供了(le)一個例外(wài)和(hé)一個功能(néng):

exception dbhash.error

數據庫錯誤以外(wài)的異常引發KeyError。它是一個同義詞bsddb.error。

dbhash.open(path[, flag[, mode]])

打開(kāi)一個db數據庫并返回數據庫對(duì)象。該路徑參數是數據庫文(wén)件的名稱。

該标志參數可以是:

含義

'R'

打開(kāi)僅用(yòng)于讀取的現(xiàn)有數據庫(默認)

'W'

打開(kāi)現(xiàn)有的數據庫進行讀寫

'C'

打開(kāi)數據庫進行讀寫,如果不存在則創建它

'N'

總是創建一個新的空(kōng)的數據庫,打開(kāi)閱讀和(hé)寫作(zuò)

對(duì)于BSD db庫支持鎖定的平台,'l'可以附加一個表明(míng)應該使用(yòng)鎖定的平台。

如果必須創建新的數據庫,則可選模式參數用(yòng)于指示應該設置的Unix權限位; 這(zhè)将被該過程的當前umask值所掩蓋。

1.數據庫對(duì)象

返回的數據庫對(duì)象open()爲所有DBM樣式的數據庫和(hé)映射對(duì)象提供通用(yòng)的方法。除标準方法外(wài),還提供以下(xià)方法。

dbhash.first()

使用(yòng)這(zhè)種方法和(hé)next()方法可以遍曆數據庫中的每個鍵/值對(duì)。遍曆由數據庫内部散列值進行排序,并且不會(huì)按鍵值進行排序。此方法返回開(kāi)始鍵。

dbhash.last()

返回數據庫遍曆中的最後一個鍵/值對(duì)。這(zhè)可以用(yòng)來(lái)開(kāi)始逆序遍曆; 見previous()。

dbhash.next()

返回數據庫遍曆中的鍵下(xià)一個鍵/值對(duì)。以下(xià)代碼打印數據庫中的每個鍵db,而不必在内存中創建一個包含它們的列表:

print db.first()

for i in xrange(1, len(db)):

print db.next()

複制

dbhash.previous()

返回數據庫正向遍曆中的前一個鍵/值對(duì)。結合使用(yòng)last(),這(zhè)可以用(yòng)來(lái)實現(xiàn)逆序遍曆。

dbhash.sync()

此方法強制将任何未寫入的數據寫入磁盤。

網站(zhàn)建設開(kāi)發|APP設計(jì)開(kāi)發|小(xiǎo)程序建設開(kāi)發
下(xià)一篇:數據持久性 | Data Persistence dbm
上(shàng)一篇:數據持久性 | Data Persistence copy_reg