Python shelve模块实现解析
一、持久化 --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 numpy矩阵信息说明,shape,size,dtype
这篇文章主要介绍了python numpy矩阵信息说明,shape,size,dtype,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-05-05Python判断对象是否为文件对象(file object)的三种方法示例
这篇文章主要介绍了Python判断对象是否为文件对象(file object)的三种方法示例,https://www.pythontab.com/html/2018/pythonhexinbiancheng_1015/1362.html2019-04-04Django模板报TemplateDoesNotExist异常(亲测可行)
这篇文章主要介绍了Django模板报TemplateDoesNotExist异常(亲测可行),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-12-12
最新评论