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编写检测数据库SA用户的方法
Jul 11 Python
Python实现多并发访问网站功能示例
Jun 19 Python
python+VTK环境搭建及第一个简单程序代码
Dec 13 Python
Python3 queue队列模块详细介绍
Jan 05 Python
python3将视频流保存为本地视频文件
Jun 20 Python
对python判断ip是否可达的实例详解
Jan 31 Python
Python 图像对比度增强的几种方法(小结)
Sep 25 Python
python3注册全局热键的实现
Mar 22 Python
Python lxml库的简单介绍及基本使用讲解
Dec 22 Python
python 将html转换为pdf的几种方法
Dec 29 Python
Keras多线程机制与flask多线程冲突的解决方案
May 28 Python
python 常用的异步框架汇总整理
Jun 18 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在字符串中查找另一个字符串
2008/11/19 PHP
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
JSON在PHP中的应用介绍
2012/09/08 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
JQuery 学习笔记 选择器之五
2009/07/23 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
2015/04/07 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
bootstrap3 兼容IE8浏览器!
2016/05/02 Javascript
jQuery获取元素父节点的方法
2016/06/21 Javascript
ECMAScript6快速入手攻略
2016/07/18 Javascript
vue.js中Vue-router 2.0基础实践教程
2017/05/08 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
利用jqprint插件打印页面内容的实现方法
2018/01/09 Javascript
jQuery访问json文件中数据的方法示例
2019/01/28 jQuery
初学node.js中实现删除用户路由
2019/05/27 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
2019/09/12 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
全面解析js中的原型,原型对象,原型链
2021/01/25 Javascript
Python set集合类型操作总结
2014/11/07 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
Python3实现转换Image图片格式
2018/06/21 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
2019/06/04 Python
使用python telnetlib批量备份交换机配置的方法
2019/07/25 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
初任培训自我鉴定
2013/10/07 职场文书
校园之声广播稿
2014/01/31 职场文书
宝宝满月酒主持词和仪式流程
2014/03/27 职场文书
诚信考试标语
2014/06/24 职场文书
论群众路线学习笔记
2014/11/06 职场文书
MySQL学习必备条件查询数据
2022/03/25 MySQL