自(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)發