shelve 模块
shelve 模块是一个简单的k, v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式。
shelve对pickle进行了封装,可允许你多次dump和load,且不会出错。
序列化:
import shelve
f = shelve.open("shelve_test") # 打开一个文件
names = ["alex", "rain", "test"]
info = {"name": "alex", "age": 23}
f["names"] = names # 持久化列表
f["info_dict"] = info # 持久化字典
f.close()
在Windows下运行结果:会生成3个文件 shelve_test.bak, shelve_test.dat, shelve_test.dir
反序列化:
f = shelve.open("shelve_test")
li = f["names"]
d = f["info_dict"]
f.close()
print(li) # 输出:['alex', 'rain', 'test']
print(d) # 输出:{'name': 'alex', 'age': 23}
还可以有像字典一样的其他方法。
可以进行修改,但实际上不行,只能进行重新赋值。
f["name"]=["aaa", "bbb"]
还可以删除。
del f["name"]
共有 0 条评论