做(zuò)自(zì)由與創造的先行(xíng)者

數(shù)據持久性 | Data Persistence dbhash

Python開(kāi)發手冊

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

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

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

exception dbhash.error

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

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

打開(kāi)一(yī)個db數(shù)據庫并返回數(shù)據庫對象。該路徑參數(shù)是數(shù)據庫文件的名稱。

該标志參數(shù)可(kě)以是:

含義

'R'

打開(kāi)僅用于讀取的現有數(shù)據庫(默認)

'W'

打開(kāi)現有的數(shù)據庫進行(xíng)讀寫

'C'

打開(kāi)數(shù)據庫進行(xíng)讀寫,如(rú)果不存在則創建它

'N'

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

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

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

1.數(shù)據庫對象

返回的數(shù)據庫對象open()為(wèi)所有DBM樣式的數(shù)據庫和(hé)映射對象提供通(tōng)用的方法。除标準方法外(wài),還提供以下(xià)方法。

dbhash.first()

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

dbhash.last()

返回數(shù)據庫遍曆中的最後一(yī)個鍵/值對。這(zhè)可(kě)以用來開(kāi)始逆序遍曆; 見(jiàn)previous()。

dbhash.next()

返回數(shù)據庫遍曆中的鍵下(xià)一(yī)個鍵/值對。以下(xià)代碼打印數(shù)據庫中的每個鍵db,而不必在內(nèi)存中創建一(yī)個包含它們的列表:

print db.first()

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

print db.next()

複制

dbhash.previous()

返回數(shù)據庫正向遍曆中的前一(yī)個鍵/值對。結合使用last(),這(zhè)可(kě)以用來實現逆序遍曆。

dbhash.sync()

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

網站建設開(kāi)發|APP設計開(kāi)發|小程序建設開(kāi)發