pyhon模块-4

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

简单来说,将数据通过文件持久化保存后,可以进行多次的load操作

import shelve

d = shelve.open('shelve_test')  #打开一个文件

class Test(object):
    def __init__(self,n):
        self.n = n

t = Test(123)

def stu_data(name,age):
    print("register stu",name,age)

name = ['s1','s2','s3']
l1 = {"name":'test',"age":18}

d["test123"] = name    #持久化列表
d["func"] = stu_data    #函数内存地址
d["t1"] = t  #持久化类
d["l1"] = l1 #持久化字典

d.close()

 执行完上述操作后,会自动生成3个文件:sheleve_test.bak、sheleve_test.dir、sheleve_test.dat,其中.dat文件是加密的

 我们可以在任何地方读出这些数据:

import shelve

f = shelve.open('shelve_test')

print(f["test123"])
print(f['l1'])
print(f["func"])
print(f["func"]('test',33))
print(f["func"]('sdfklasdlfas',34))

 

 执行结果:

['s1', 's2', 's3']
{'name': 'test', 'age': 18}
<function stu_data at 0x000001DD8C592F28>
register stu test 33
None
register stu sdfklasdlfas 34
None

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值