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 类的继承实例详解
Mar 25 Python
Python处理PDF及生成多层PDF实例代码
Apr 24 Python
Python中用post、get方式提交数据的方法示例
Sep 22 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
Feb 13 Python
详解Python如何生成词云的方法
Jun 01 Python
Python通过paramiko远程下载Linux服务器上的文件实例
Dec 27 Python
Pandas+Matplotlib 箱式图异常值分析示例
Dec 09 Python
tensorflow使用range_input_producer多线程读取数据实例
Jan 20 Python
Tensorflow不支持AVX2指令集的解决方法
Feb 03 Python
Python集成开发工具Pycharm的安装和使用详解
Mar 18 Python
python中JWT用户认证的实现
May 18 Python
python安装cx_Oracle和wxPython的方法
Sep 14 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
Terran热键控制
2020/03/14 星际争霸
一个简单实现多条件查询的例子
2006/10/09 PHP
php实现读取超大文件的方法
2014/07/28 PHP
自编函数解决pathinfo()函数处理中文问题
2014/11/03 PHP
PHP统计目录大小的自定义函数分享
2014/11/18 PHP
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
php语言注释,单行注释和多行注释
2018/01/21 PHP
Javascript模块化编程(一)模块的写法最佳实践
2013/01/17 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
jquery判断复选框是否被选中的方法
2015/10/16 Javascript
Javascript原型链的原理详解
2016/01/05 Javascript
理解JS绑定事件
2016/01/19 Javascript
怎么引入(调用)一个JS文件
2016/05/26 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
2016/09/20 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
详解使用vscode+es6写nodejs服务端调试配置
2017/09/21 NodeJs
vue中对象数组去重的实现
2020/02/06 Javascript
JS使用for in有序获取对象数据
2020/05/19 Javascript
js里面的变量范围分享
2020/07/18 Javascript
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
python实现梯度下降算法
2020/03/24 Python
django 模型中的计算字段实例
2020/05/19 Python
Python中有几个关键字
2020/06/04 Python
Python爬虫爬取新闻资讯案例详解
2020/07/14 Python
python的链表基础知识点
2020/09/13 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
海蓝之谜英国官网:La Mer英国
2020/01/15 全球购物
企业口号大全
2014/06/12 职场文书
市场营销专业应届生自荐信
2014/06/19 职场文书
手术室护士个人总结
2015/02/13 职场文书
美术教师求职信范文
2015/03/20 职场文书