pickle模块只能处理一些不太复杂的数据,当处理复杂数据的时候再用
pickle就会显的很麻烦,于是就有了
shelve
shelve是Python标准库中的一个模块
写入数据:
>>> import
shelve
>>> a =
shelve.open
("D://shelve.txt") #打开文件
>>> a["name"] = "zhangsan" #开始写入
>>> a["age"] = 28
>>> a["url"] = "www.baidu.com"
>>> a["content"] = "This is test"
>>> a.close()
读取文件:
>>> b =
shelve.open
("D://shelve.txt")
>>> name = b["name"]
>>> print name
zhangsan
>>> url = b["url"]
>>> print url
全部内容遍历:
>>> for k in b:
print k, b[k]
age 28
content This is test
name zhangsan
url
www.baidu.com
读和写,都简化了。所建立的对象,就如同字典一样,可称之为类字典对象,所以,可以如同操作字典那样来操作它。
注意
:
>>> f = shelve.open("D://shelve.txt")
>>> f["name"]
'zhangsan'
>>> f["name"] = ["zhansgan"]
>>> f["name"]
['zhansgan']
>>> f["name"].
append
("lisi")
>>> f["name"]
['zhansgan']
当试图修改一个已有键的值时没有报错,但是并没有修改成功。
>>> f = shelve.open("D://shelve.txt",
writeback=True
)
>>> f["name"].append("lisi")
>>> f["name"]
['zhansgan', 'lisi']
遍历整个结果:
>>> f = shelve.open("D://shelve.txt")
>>> for k,v in
f.items()
:
print k,": ",v
zhangsan : ['zhangsan']
age : 28
content : This is test
name : ['zhansgan', 'lisi']
url : www.baidu.com