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 list转dict示例分享
Jan 28 Python
python网页请求urllib2模块简单封装代码
Feb 07 Python
python下载文件记录黑名单的实现代码
Oct 24 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
tensorflow 输出权重到csv或txt的实例
Jun 14 Python
解决python ogr shp字段写入中文乱码的问题
Dec 31 Python
Python list列表中删除多个重复元素操作示例
Feb 27 Python
在django中实现页面倒数几秒后自动跳转的例子
Aug 16 Python
Python列表元素常见操作简单示例
Oct 25 Python
tensorflow中tf.reduce_mean函数的使用
Apr 19 Python
python 一维二维插值实例
Apr 22 Python
PyQt5通过信号实现MVC的示例
Feb 06 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实现JS中escape与unescape的方法
2016/07/11 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
2019/01/15 PHP
详解AngularJS中自定义过滤器
2015/12/28 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
2016/01/28 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
2020/04/16 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
2016/12/14 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
2017/01/21 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
实例讲解javascript实现异步图片上传方法
2017/12/05 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
ES6 系列之 Generator 的自动执行的方法示例
2018/10/19 Javascript
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
Python中字典和JSON互转操作实例
2015/01/19 Python
简单实现python爬虫功能
2015/12/31 Python
Python实现的下载网页源码功能示例
2017/06/13 Python
python http接口自动化脚本详解
2018/01/02 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
2018/04/18 Python
Python操作mongodb数据库的方法详解
2018/12/08 Python
python字典嵌套字典的情况下找到某个key的value详解
2019/07/10 Python
python读取当前目录下的CSV文件数据
2020/03/11 Python
keras实现theano和tensorflow训练的模型相互转换
2020/06/19 Python
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
美国知名生活购物网站:Goop
2017/11/03 全球购物
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
牧马人澳大利亚官网:Wrangler澳大利亚
2019/10/08 全球购物
技术股份合作协议书
2014/10/05 职场文书
医院病假条怎么写
2015/08/17 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
服务器SVN搭建图文安装过程
2022/06/21 Servers