功能相同与 json 和 pickle 。但是读取要强于前两者
其实shelve这个模块就是一个open和字典的操作
举例
import shelve
f = shelve.open('demo') #此步会创建三个文件:demo.bak , demo.dat , demo.dir 三个文件都不可以进行手动修改.os系统只有一个文件demo.bb
#接下来的操作就如同 字典的操作
f['name'] = [1,2,[3,4],5] #要求键必须是字符串类型。值是Python类型的数据,没有要求
print(f['name']) #[1,2,[3,4],5]
#可以在加键值对
f['age'] = 17
print(f['age']) #17
#注意:
他并不可以直接查看字典中的内容,如果想要查看字典中有什么内容,需要循环这个 句柄(字典)
注意有个坑:
如果文件回写的时候会出现回写不成功,只需要在open这个函数的参数部分 加上一个 writeback = True 就可以了