python3 shelve模块的详解
作者:lqh 发布时间:2022-12-08 19:41:37
标签:python,shelve
python3 shelve模块的详解
一、简介
在python3中我们使用json或者pickle持久化数据,能dump多次,但只能load一次,因为先前的数据已经被后面dump的数据覆盖掉了。如果我们想要实现dump和load多次,可以使用shelve模块。shelve模块可以持久化所有pickle所支持的数据类型。
二、持久化数据
1、数据持久化
import shelve
import datetime
info = {'name': 'bigberg', 'age': 22}
name = ['Apoll', 'Zous', 'Luna']
t = datetime.datetime.now()
with shelve.open('shelve.txt') as f:
f['name'] = name # 持久化列表
f['info'] = info # 持久化字典
f['time'] = t # 持久化时间类型
执行代码后会生成3个文件:shelve.txt.bak、shelve.txt.dat、shelve.txt.dir。
shelve.txt.bak 的内容
'info', (512, 45)
'name', (0, 42)
'time', (1024, 44)
shelve.txt.dat
�]q (X ApollqX ZousqX Lunaqe. �}q (X ageqKX nameqX bigbergqu. �cdatetime
datetime
q C
�"
2�q�qRq.
shelve.txt.dir 的内容
'info', (512, 45)
'name', (0, 42)
'time', (1024, 44)
2、数据读取
我们使用get来获取数据
import shelve
with shelve.open('shelve.txt') as f:
n = f.get('name')
i = f.get('info')
now = f.get('time')
print(n)
print(i)
print(now)
#输出
['Apoll', 'Zous', 'Luna']
{'age': 22, 'name': 'bigberg'}
2017-07-08 11:07:34.865022
1、shelve模块是一个简单的key,value将内存数据通过文件持久化的模块。
2、shelve模块可以持久化任何pickle可支持的python数据格式。
3、shelve就是pickle模块的一个封装。
4、shelve模块是可以多次dump和load。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


猜你喜欢
- 一直想着给框架添加邮件发送功能、所以整理下python下邮件发送功能首先python是支持邮件的发送、内置smtp库、支持发送纯文本、HTM
- 代码是这样的:var reg = /^1[345678][0-9]{9}$/g;console.log(reg.test(153280446
- 对于DBA来说,丢失超管用户root的密码是致命的,可以通过添加--ship-grant-tables参数来跳过权限表。1、忘记root密码
- 《hadoop权威指南》的天气数据可以在ftp://ftp3.ncdc.noaa.gov/pub/data/noaa下载,在网上看到这个数据
- 从CNNIC在2009年的报告中可以看到,超过80%的网民购物之前都要看评论(包括本站、其他站评论),超过80%的网民都比较信任口碑(包括网
- 前言Django附带的认证对于大多数常见情况来说已经足够了,但是如何在 Django 中使用自定义的数据表进行用户认证,有一种较为笨蛋的办法
- 前言jieba 基于Python的中文分词工具,安装使用非常方便,直接pip即可,2/3都可以,功能强悍,十分推荐。中文分词(Chinese
- PyCharm 的官方网站地址是:https://www.jetbrains.com/pycharm/01. 恢复 PyCharm 的初始设
- 本文实例讲述了CentOS7系统搭建LAMP及更新PHP版本操作。分享给大家供大家参考,具体如下:搭建LAMP环境 用yum安装安装Apac
- Python的集合set原理集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个
- 起因:有一批数据需要每个月进行分析,数据存储在excel中,行标题一致,需要横向合并进行分析。数据示意:具有多个代码:# -*- codin
- python怎么区分不同数据类型?Python判断变量的数据类型的两种方法一、Python中的数据类型有数字、字符串,列表、元组、字典、集合
- 很多年前,我们就可以轻易的从很多国营商场、火车车厢、饭馆旅馆中看到墙上挂的那个小本本-意见薄,作为经营方与顾客沟通的
- 题目描述1266. 访问所有点的最小时间 - 力扣(LeetCode)平面上有 n 个点,点的位置用整数坐标表示 poi
- 本文实例讲述了Python实现将数据写入netCDF4中的方法。分享给大家供大家参考,具体如下:nc文件为处理气象数据文件。用户可以去htt
- 本文实例为大家分享了python实现转盘效果的具体代码,供大家参考,具体内容如下#抽奖 面向对象版本import tkinterimport
- 对图片进行resize、裁剪、旋转、翻转图片处理时常用的手段有resize、裁剪、旋转、翻转,简单介绍一下python中怎么利用PIL库和t
- Bootstrap 轮播(Carousel)插件是一种灵活的响应式的向站点添加滑块的方式。0x01 基本实例Bootstrap实现轮播幻灯片
- wxPython树控件介绍树(tree)是一种通过层次结构展示信息的控件,如下图所示是树控件示例,左窗口中是树控件,在wxPython中树控
- 前言今天就来理一理session、cookie、token这三者之间的关系!1.为什么会有它们?我们都知道 HTTP 协议是无状态的,所谓的