Python shelve模块实现解析


Posted in Python onAugust 28, 2019

一、持久化 --shelve

持久化工具

(1)作用:类似字典,用kv对保存数据,存取方式类似于字典

(2)例子:通过一下案例创建了一个数据库,第二个程序我们读取了数据库

#使用shelve创建文件并使用
import shelve
shv = shelve.open(r"shv.db")
shv["one"] = 1
shv["two"] = 2
shv.close()

Python shelve模块实现解析

shv = shelve.open(r"shv.db")
try:
  print(shv["one"])
  print(shv["three"])
except:
  print("打印three时出错了")
finally:
  shv.close()

Python shelve模块实现解析

二.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()

Python shelve模块实现解析

三、源码

d22_4_shelve_module.py

地址:https://github.com/ruigege66/Python_learning/blob/master/d22_4_shelve_module.py

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 创建子进程模块subprocess详解
Apr 08 Python
Python连接数据库学习之DB-API详解
Feb 07 Python
将pip源更换到国内镜像的详细步骤
Apr 07 Python
Django Rest framework认证组件详细用法
Jul 25 Python
解决python中导入win32com.client出错的问题
Jul 26 Python
python datetime处理时间小结
Apr 16 Python
OpenCV Python实现图像指定区域裁剪
Mar 12 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
Sep 26 Python
Python通过队列来实现进程间通信的示例
Oct 14 Python
matplotlib bar()实现百分比堆积柱状图
Feb 24 Python
PO模式在selenium自动化测试框架的优势
Mar 20 Python
利用Python将list列表写入文件并读取的方法汇总
Mar 25 Python
解决python明明pip安装成功却找不到包的问题
Aug 28 #Python
Python 函数list&read&seek详解
Aug 28 #Python
Python collections模块使用方法详解
Aug 28 #Python
对python中的*args与**kwgs的含义与作用详解
Aug 28 #Python
关于python导入模块import与常见的模块详解
Aug 28 #Python
Python datetime包函数简单介绍
Aug 28 #Python
解决python有时候import不了当前的包问题
Aug 28 #Python
You might like
PHP生成推广海报的方法分享
2018/04/22 PHP
用javascript获取地址栏参数
2006/12/22 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
JS链式调用的实现方法
2013/03/07 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
JS清除选择内容的方法
2015/01/29 Javascript
angularJS 中input示例分享
2015/02/09 Javascript
学习JavaScript设计模式之单例模式
2016/01/19 Javascript
详细分析Javascript中创建对象的四种方式
2016/08/17 Javascript
学习使用Bootstrap栅格系统
2017/05/11 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
Vue2.0实现购物车功能
2017/06/05 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
微信小程序pinker组件使用实现自动相减日期
2020/05/07 Javascript
Python实现截屏的函数
2015/07/25 Python
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
Python中 map()函数的用法详解
2018/07/10 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
Python使用修饰器进行异常日志记录操作示例
2019/03/19 Python
python处理document文档保留原样式
2019/09/23 Python
python 爬取百度文库并下载(免费文章限定)
2020/12/04 Python
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
澳大利亚最好的在线时尚精品店:Princess Polly
2018/01/03 全球购物
入党积极分子思想汇报范文
2014/01/05 职场文书
教师国庆节演讲稿范文2014
2014/09/21 职场文书
2014年教研工作总结
2014/12/06 职场文书
世界文化遗产导游词
2015/02/13 职场文书
入党积极分子党支部意见
2015/06/02 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书
教师节表彰会主持词
2015/07/06 职场文书
教你用python实现12306余票查询
2021/06/30 Python
nginx负载功能+nfs服务器功能解析
2022/02/28 Servers