描述
shelve自动地将对象pickle进、pickle出文件,可以看做一个可以持久化保存的字典
方法
假设内存中有一个文件Students,该文件下存储着每个学生(例如:Bob、Sue、Lily…)的信息(例如:name、age、gender、score…)
- 访问学生信息
>>>import shelve
>>>stu=shelve.open('Students')
>>>for name in stu: #读取每个学生的信息,name的值就是Students文件下的子文件名
... print(name,'->',stu[name]) #以键-值的方式读取每个子文件的数据
...
>>>print(stu['Bob']['age'])
>>>stu.close() #记着要关闭
- 更新文件数据
eg:
>>>import shelve
>>>stu=shelve.open('Students')
>>>Sue=stu['Sue'] #fetch Sue's information
>>>Sue['score']+=5
>>>stu['Sue']=Sue #update Sue
>>>Tom=dict(zip(['name','age','gender','score'],['Tom',13,'boy','99']))
>>>stu['Tom']=Tom #add a new record
>>>stu.close()