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实现RSA加密(解密)算法
Feb 17 Python
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
Mar 13 Python
详解Django中类视图使用装饰器的方式
Aug 12 Python
python 获取键盘输入,同时有超时的功能示例
Nov 13 Python
Python数据类型之Number数字操作实例详解
May 08 Python
python如何实现数据的线性拟合
Jul 19 Python
Python中IP地址处理IPy模块的方法
Aug 16 Python
TensorFLow 变量命名空间实例
Feb 11 Python
TensorFlow的环境配置与安装方法
Feb 20 Python
python爬取某网站原图作为壁纸
Jun 02 Python
Python中常见的反爬机制及其破解方法总结
Jun 10 Python
如何基于python实现单目三维重建详解
Jun 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
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
PHP实现类似题库抽题效果
2018/08/16 PHP
清除网页历史记录,屏蔽后退按钮!
2008/12/22 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
2011/10/29 Javascript
JS中Iframe之间传值的方法
2013/03/11 Javascript
jQuery之尺寸调整组件的深入解析
2013/06/19 Javascript
ie8 不支持new Date(2012-11-10)问题的解决方法
2013/07/31 Javascript
jQuery类选择器用法实例
2014/12/23 Javascript
JavaScript获得当前网页来源页面(即上一页)的方法
2015/04/03 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
jquery验证邮箱格式并显示提交按钮
2015/11/07 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
基于JavaScript代码实现pc与手机之间的跳转
2015/12/23 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
2016/07/04 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
AngularJs用户输入动态模板XSS攻击示例详解
2018/04/21 Javascript
手淘flexible.js框架使用和源代码讲解小结
2018/10/15 Javascript
微信小程序实现渐入渐出动画效果
2019/06/13 Javascript
JS浮点数运算结果不精确的Bug解决
2019/08/01 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
Python3利用SMTP协议发送E-mail电子邮件的方法
2017/09/30 Python
简单介绍python封装的基本知识
2019/08/10 Python
wxpython布局的实现方法
2019/11/01 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
HTML5 Canvas标签使用收录
2009/07/07 HTML / CSS
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
Qoo10马来西亚:全球时尚和引领潮流的购物市场
2016/08/25 全球购物
美国存储和组织商店:The Container Store
2017/08/16 全球购物
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
5.1手机促销活动
2014/01/17 职场文书
受伤赔偿协议书
2014/09/24 职场文书
2014年党务工作总结
2014/11/25 职场文书
运动会开幕式致辞
2015/07/29 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
创业计划书之宠物店
2019/09/19 职场文书