該anydbm模塊已被重命名爲dbmPython 3. 當将源代碼轉換爲Python 3時(shí),2to3工(gōng)具将自(zì)動适應導入。
anydbm是DBM數據庫變體的通用(yòng)接口 - dbhash(需要bsddb)gdbm,或dbm。如果沒有安裝這(zhè)些(xiē)模塊,dumbdbm則将使用(yòng)模塊中緩慢而簡單的實現(xiàn)。
anydbm.open(filename[, flag[, mode]])
打開(kāi)數據庫文(wén)件的文(wén)件名并返回相應的對(duì)象。
如果數據庫文(wén)件已存在,whichdb則使用(yòng)該模塊确定其類型并使用(yòng)适當的模塊; 如果它不存在,則使用(yòng)上(shàng)面列出的可導入的第一個模塊。
可選的标志參數必須是以下(xià)值之一:
值 | 含義 |
---|---|
'R' | 打開(kāi)僅用(yòng)于讀取的現(xiàn)有數據庫(默認) |
'W' | 打開(kāi)現(xiàn)有的數據庫進行讀寫 |
'C' | 打開(kāi)數據庫進行讀寫,如果不存在則創建它 |
'N' | 總是創建一個新的空(kōng)的數據庫,打開(kāi)閱讀和(hé)寫作(zuò) |
如果未指定,則默認值爲'r'。
可選模式參數是文(wén)件的Unix模式,僅在需要創建數據庫時(shí)使用(yòng)。它默認爲八進制0666(并且會(huì)被主要的umask修改)。
exception anydbm.error
包含可由每個受支持模塊引發的異常的元組,其中包含也(yě)anydbm.error稱爲第一項的唯一異常- 後者在anydbm.error引發時(shí)使用(yòng)。
返回的對(duì)象open()支持與字典大(dà)部分相同的功能(néng); 可以存儲,檢索和(hé)删除鍵和(hé)它們的對(duì)應值,并且可以使用(yòng)has_key()和(hé)keys()方法。鍵和(hé)值必須始終是字符串。
以下(xià)示例記錄了(le)一些(xiē)主機名和(hé)相應的标題,然後打印出數據庫的内容:
import anydbm
# Open database, creating it if necessary.
db = anydbm.open('cache', 'c')
# Record some values
db['www.python.org'] = 'Python Website'
db['www.cnn.com'] = 'Cable News Network'
# Loop through contents. Other dictionary methods
# such as .keys(), .values() also work.
for k, v in db.iteritems():
print k, '\t', v
# Storing a non-string key or value will raise an exception (most
# likely a TypeError).
db['www.yahoo.com'] = 4
# Close when done.
db.close()
複制
除了(le)類似字典的方法之外(wài),anydbm對(duì)象還提供以下(xià)方法:
糾錯
anydbm.close()
關閉anydbm數據庫。
網站(zhàn)建設開(kāi)發|APP設計(jì)開(kāi)發|小(xiǎo)程序建設開(kāi)發