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复制文件代码实现
Dec 23 Python
详解Python中列表和元祖的使用方法
Apr 25 Python
浅谈python jieba分词模块的基本用法
Nov 09 Python
Python实现的生产者、消费者问题完整实例
May 30 Python
Form表单及django的form表单的补充
Jul 25 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
Python通过4种方式实现进程数据通信
Mar 12 Python
利用python绘制数据曲线图的实现
Apr 09 Python
总结Pyinstaller的坑及终极解决方法(小结)
Sep 21 Python
Python爬取网页信息的示例
Sep 24 Python
Matplotlib配色之Colormap详解
Jan 05 Python
利用Python多线程实现图片下载器
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
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
PHP中使用smarty生成静态文件的例子
2014/04/24 PHP
php下载文件源代码(强制任意文件格式下载)
2014/05/09 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
Stop SQL Server
2007/06/21 Javascript
js 回车提交表单两种实现方法
2012/12/31 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
SOSO地图JS画出标注和中心点以html形式运行
2013/08/09 Javascript
js判断手机和pc端选择不同执行事件的方法
2015/01/30 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
JS中call/apply、arguments、undefined/null方法详解
2016/02/15 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
JavaScript调试的多个必备小Tips
2017/01/15 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
浅谈VUE中演示v-for为什么要加key
2020/01/16 Javascript
在Vue中实现随hash改变响应菜单高亮
2020/03/09 Javascript
[02:57]2014DOTA2国际邀请赛-观众采访
2014/07/19 DOTA
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
Python脚本完成post接口测试的实例
2018/12/17 Python
python交互界面的退出方法
2019/02/16 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
Python List列表对象内置方法实例详解
2019/10/22 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
会计岗位职责
2013/11/08 职场文书
商超业务员岗位职责
2014/03/12 职场文书
大学生就业意向书范文
2014/04/01 职场文书
欢迎横幅标语
2014/06/17 职场文书
小学生运动会报道稿
2014/09/12 职场文书
2015年安全生产目标责任书
2015/01/29 职场文书
2015年城乡环境综合治理工作总结
2015/07/24 职场文书
深度学习小工程练习之垃圾分类详解
2021/04/14 Python
Django框架模板用法详解
2022/06/10 Python