首页 » 编程 » Python-4.常用模块 » 正文

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"]

 

发表评论

验证码加载中....