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简单实现旋转图片的方法
May 30 Python
详解python实现读取邮件数据并下载附件的实例
Aug 03 Python
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 Python
钉钉群自定义机器人消息Python封装的实例
Feb 20 Python
pyqt5中QThread在使用时出现重复emit的实例
Jun 21 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
Nov 08 Python
浅谈pytorch池化maxpool2D注意事项
Feb 18 Python
python实现logistic分类算法代码
Feb 28 Python
Windows 下python3.8环境安装教程图文详解
Mar 11 Python
浅析python 定时拆分备份 nginx 日志的方法
Apr 27 Python
Python爬虫:Request Payload和Form Data的简单区别说明
Apr 30 Python
用Python制作灯光秀短视频的思路详解
Apr 13 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
缅甸的咖啡简史
2021/03/04 咖啡文化
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
Laravel与CI框架中截取字符串函数
2016/05/08 PHP
php+ajax登录跳转登录实现思路
2016/07/31 PHP
Jquey拖拽控件Draggable使用方法(asp.net环境)
2010/09/28 Javascript
JS中Iframe之间传值的方法
2013/03/11 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
Backbone.js的一些使用技巧
2015/07/01 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
jquery加载单文件vue组件的方法
2017/06/20 jQuery
基于JavaScript实现多级菜单效果
2017/07/25 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
微信小程序 导入图标实现过程详解
2019/10/11 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
python处理大数字的方法
2015/05/27 Python
Python实现矩阵转置的方法分析
2017/11/24 Python
python numpy格式化打印的实例
2018/05/14 Python
Python if语句知识点用法总结
2018/06/10 Python
python搜索包的路径的实现方法
2019/07/19 Python
Python实现ElGamal加密算法的示例代码
2020/06/19 Python
全球知名的珠宝首饰品牌:Kay Jewelers
2018/02/11 全球购物
最新大学生自我评价
2013/09/24 职场文书
财务助理岗位职责
2013/11/10 职场文书
女大学生自我鉴定
2013/12/09 职场文书
超市国庆节促销方案
2014/02/20 职场文书
一岗双责责任书
2014/04/15 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
重点工程汇报材料
2014/08/27 职场文书
作风建设年活动实施方案
2014/10/24 职场文书
综合管理员岗位职责
2015/02/11 职场文书
图文详解Nginx版本平滑升级方案
2021/09/15 Servers
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python
搭建zabbix监控以及邮件报警的超级详细教学
2022/07/15 Servers