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函数局部变量用法实例分析
Aug 04 Python
使用Python操作MySQL的一些基本方法
Aug 16 Python
解析Python中while true的使用
Oct 13 Python
python matplotlib 在指定的两个点之间连线方法
May 25 Python
numpy中以文本的方式存储以及读取数据方法
Jun 04 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
Jul 09 Python
Pandas读取并修改excel的示例代码
Feb 17 Python
pyqt5实现登录界面的模板
May 30 Python
Django框架视图介绍与使用详解
Jul 18 Python
python3 map函数和filter函数详解
Aug 26 Python
详解python metaclass(元类)
Aug 13 Python
Python可视化动图组件ipyvizzu绘制惊艳的可视化动图
Apr 21 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反弹shell实现代码
2009/04/22 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
javascript 流畅动画实现原理
2009/09/08 Javascript
让FireFox支持innerText的实现代码
2009/12/01 Javascript
javascript getElementsByClassName函数
2010/04/01 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
深入浅析JavaScript中的constructor
2016/04/19 Javascript
EasyUI框架 使用Ajax提交注册信息的实现代码
2017/09/27 Javascript
Vue.js用法详解
2017/11/13 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
Vue 开发必须知道的36个技巧(小结)
2019/10/09 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
vscode调试node.js的实现方法
2020/03/22 Javascript
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
python清除字符串里非数字字符的方法
2015/07/02 Python
Python导入模块时遇到的错误分析
2017/08/30 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
2019/07/15 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
pygame实现俄罗斯方块游戏(基础篇2)
2019/10/29 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
2019/10/30 Python
如何教少儿学习Python编程
2020/07/10 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
Lentiamo荷兰:在线订购隐形眼镜、隐形眼镜液和太阳镜
2019/10/25 全球购物
Ooni英国官网:披萨烤箱
2020/05/31 全球购物
放飞蜻蜓反思
2014/02/05 职场文书
青年教师培训方案
2014/02/06 职场文书
知识竞赛活动方案
2014/02/18 职场文书
2014年维修工作总结
2014/11/22 职场文书
餐饮服务员岗位职责
2015/02/09 职场文书
市直属机关2016年主题党日活动总结
2016/04/05 职场文书
pytorch实现线性回归以及多元回归
2021/04/11 Python
Win10 heic文件怎么打开 ? Win10 heic文件打开教程
2022/04/06 数码科技