dbm、pickle和shelve都是python自带模块。
dbm可以打开数据库文件,把字典存储到数据库文件中,起到数据永久化的目的。dbm的限制之一是键和值都必须是字符串或者字节。
import dbm
db=dbm.open('captions','c')
db['cleese.png']='Photo of John Cleese.'
db.close()
pickle模块可以将几乎所有类型对象转换为适合保存到数据库的字符串形式,并可以将字符串转换回来成为对象。
import pickle
t=[1,2,3]
s=pickle(t1)
使用pickle,就可以把非字符串值存入dbm数据库中
shelve是dbm和pickle结合的结果。与dbm不同之处是其值可以是任意python对象(pickle可以处理的所有对象)
网友评论