python3--shelve 模块

shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式

import shelve
 
d = shelve.open('shelve_test') #打开一个文件
 
class Test(object):
    def __init__(self,n):
        self.n = n
 
 
t = Test(123) 
t2 = Test(123334)
 
name = ["alex","rain","test"]
d["test"] = name #持久化列表
d["t1"] = t      #持久化类
d["t2"] = t2
 
d.close()

 反序列化

d1 = shelve.open("shelve.txt")
print(d1["test"])
dd1 = d1["t1"]
print(dd1)
print(dd1.n)

dd2 = d1["t2"]
print(dd2)
print(dd2.n)

结果:

['alex', 'rain', 'golf']
<__main__.Test object at 0x000000000295E5C0>
123
<__main__.Test object at 0x000000000295E588>
456789

 

posted @ 2017-08-06 14:50  耳木东木2  阅读(145)  评论(0编辑  收藏  举报