Python 中的 dbm 模块
生活随笔
收集整理的這篇文章主要介紹了
Python 中的 dbm 模块
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python 的 dbm模塊是 DBM數據庫(dbm.gnu 或 dbm.ndbm)的通用接口。如果沒有安裝這些 DBM 數據庫,則將使用簡單的但速度較慢的模塊 dbm.dumb 作為 DBM 數據庫。
和 shelve 模塊不同的是,dbm 模塊中的鍵(key)和值(value)都必須是字符串,而 shelve 模塊中的 value 可以是任何 Python 類型對象。
dbm.gnu、dbm.ndbm 和 dbm.dumb 模塊的函數 open()都具有一致的接口,其格式如下:
其中,
可選的標志參數 flag 必須是以下值之一:
- ‘r’:打開一個存在的文件(默認值)。
- ‘w’:打開文件對其讀/寫,如果文件不存在,則不會創建它。
- ‘c’:打開文件對其進行讀/寫,如果不存在則創建該文件。
- ‘n’:總是創建一個新的空白文件用于讀/寫。
可選的參數 mode 是文件的 Unix 模式,僅在需要創建數據庫時使用。它默認為八進制的 0o666。
下面程序創建一個新的空數據庫,并寫入一些“鍵-值”:
import dbm with dbm.open('test_dbm.db', 'n') as db: db['name'] = '張偉' db['ege'] = '23' db['分數'] = '68.9'打開這個存在的數據庫,并通過 keys()方法遍歷其中的 key(鍵):
import dbm with dbm.open('test_dbm.db', 'r') as db: print('keys():', db.keys())for k in db.keys(): print('iterating:', k, db[k])print('db["分數"] =', db['分數'])輸出:
keys(): [b'name', b'ege', b'\xe5\x88\x86\xe6\x95\xb0'] iterating: b'name' b'\xe5\xbc\xa0\xe4\xbc\x9f' iterating: b'ege' b'23' iterating: b'\xe5\x88\x86\xe6\x95\xb0' b'68.9' db["分數"] = b'68.9'總結
以上是生活随笔為你收集整理的Python 中的 dbm 模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux-bash笔记
- 下一篇: ARM9——五级流水线结构,以及PC指针