幽灵资源网 Design By www.bzswh.com
一、持久化 --shelve
持久化工具
(1)作用:类似字典,用kv对保存数据,存取方式类似于字典
(2)例子:通过一下案例创建了一个数据库,第二个程序我们读取了数据库
#使用shelve创建文件并使用 import shelve shv = shelve.open(r"shv.db") shv["one"] = 1 shv["two"] = 2 shv.close()
shv = shelve.open(r"shv.db") try: print(shv["one"]) print(shv["three"]) except: print("打印three时出错了") finally: shv.close()
二.shelve特性
(1)注意:不支持多个应用并行写入,为了解决这个问题,open的时候可以使用writeback=True,注意一点如果不传入这个参数我们后面对数据的更改只会在内存中进行更改,而不会写回数据库
(2)写回问题
shelve不会等待持久化对象进行任何更改
shv = shelve.open(r"shv.db",writeback=True) try: shv["one"] = {"eind":1,"zwei":2,"drei":3} one = shv["one"] print(one) #这里就对 数据进行了更改,如果没有上面writeback=True,下面额语句就白写了 one["eind"] = 100 print(one) finally: shv.close()
三、源码
d22_4_shelve_module.py
地址:https://github.com/ruigege66/Python_learning/blob/master/d22_4_shelve_module.py
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
python,shelve模块
幽灵资源网 Design By www.bzswh.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
幽灵资源网 Design By www.bzswh.com
暂无评论...