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多进程同步简单实现代码
Apr 27 Python
Python之py2exe打包工具详解
Jun 14 Python
Python之csv文件从MySQL数据库导入导出的方法
Jun 21 Python
Selenium元素的常用操作方法分析
Aug 10 Python
python获取中文字符串长度的方法
Nov 14 Python
python 实现语音聊天机器人的示例代码
Dec 02 Python
Python叠加两幅栅格图像的实现方法
Jul 05 Python
python实现通过flask和前端进行数据收发
Aug 22 Python
解决pycharm不能自动补全第三方库的函数和属性问题
Mar 12 Python
Linux安装Python3如何和系统自带的Python2并存
Jul 23 Python
python asyncio 协程库的使用
Jan 21 Python
Python批量解压&压缩文件夹的示例代码
Apr 04 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中使用接口实现工厂设计模式的代码
2012/06/17 PHP
php实现文件下载功能的几个代码分享
2014/05/10 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
PHP汉字转换拼音的函数代码
2015/12/30 PHP
豆瓣网的jquery代码实例
2008/06/15 Javascript
jquery checkbox,radio是否选中的判断代码
2010/03/20 Javascript
jquery的index方法实现tab效果
2011/02/16 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
javascript函数定义的几种区别小结
2014/01/06 Javascript
简易的投票系统以及js刷票思路和方法
2015/04/07 Javascript
jQuery实现带滑动条的菜单效果代码
2015/08/26 Javascript
详解javascript实现自定义事件
2016/01/19 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
JavaScript原生对象常用方法总结(推荐)
2016/05/13 Javascript
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
JavaScript实现汉字转换为拼音的库文件示例
2016/12/22 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
p5.js入门教程之图片加载
2018/03/20 Javascript
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
详解微信小程序自定义组件的实现及数据交互
2019/07/22 Javascript
[52:14]VG vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python中kmeans聚类实现代码
2018/02/23 Python
解决Pycharm运行时找不到文件的问题
2018/10/29 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
pytorch 图像预处理之减去均值,除以方差的实例
2020/01/02 Python
html5 拖拽及用 js 实现拖拽功能的示例代码
2020/10/23 HTML / CSS
英国最大的宝石首饰超市:QP Jewellers
2018/09/23 全球购物
晨会主持词
2014/03/17 职场文书
一般党员对照检查材料
2014/09/24 职场文书
建筑工地文明标语
2014/10/09 职场文书
工作表扬信范文
2015/01/17 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
《作风建设永远在路上》心得体会
2016/01/21 职场文书
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技