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批量按比例缩小图片脚本分享
May 21 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
May 08 Python
Python爬虫框架Scrapy实例代码
Mar 04 Python
Python实现针对json中某个关键字段进行排序操作示例
Dec 25 Python
利用Python绘制Jazz网络图的例子
Nov 21 Python
Python3标准库之functools管理函数的工具详解
Feb 27 Python
python实现拼接图片
Mar 23 Python
Python Opencv实现单目标检测的示例代码
Sep 08 Python
python+flask编写一个简单的登录接口
Nov 13 Python
Python非单向递归函数如何返回全部结果
Dec 18 Python
Python MNIST手写体识别详解与试练
Nov 07 Python
Golang Web 框架Iris安装部署
Aug 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
十天学会php之第一天
2006/10/09 PHP
JS 网站性能优化笔记
2011/05/24 PHP
PHP写的加密函数,支持私人密钥(详细介绍)
2013/06/09 PHP
php调用新浪短链接API的方法
2014/11/08 PHP
PHP的pcntl多进程用法实例
2015/03/19 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
php实现映射操作实例详解
2019/10/02 PHP
jquery text()要注意啦
2009/10/30 Javascript
jquery 新手学习常见问题解决方法
2010/04/18 Javascript
基于jQuery的仿flash的广告轮播代码
2010/11/04 Javascript
js自定义方法通过隐藏iframe实现文件下载
2013/02/21 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
2013/11/28 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
JS实现可控制的进度条
2020/03/25 Javascript
解决vant title-active-color与title-inactive-color不生效问题
2020/11/03 Javascript
学习python处理python编码问题
2011/03/13 Python
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
Python实现SMTP发送邮件详细教程
2021/03/02 Python
python通过elixir包操作mysql数据库实例代码
2018/01/31 Python
python 处理dataframe中的时间字段方法
2018/04/10 Python
Python处理中文标点符号大集合
2018/05/14 Python
浅谈python写入大量文件的问题
2018/11/09 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
2020/06/02 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
python中使用.py配置文件的方法详解
2020/11/23 Python
html5实现九宫格抽奖可固定抽中某项奖品
2020/06/15 HTML / CSS
澳大利亚礼品篮网站:Macarthur Baskets
2019/10/14 全球购物
村委会主任先进事迹
2014/01/15 职场文书
销售经理竞聘书
2014/03/31 职场文书
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
学生吸烟检讨书
2014/09/14 职场文书
2019初中学生入团申请书
2019/06/27 职场文书
Python实现滑雪小游戏
2021/09/25 Python