python3 shelve模块的详解
发布时间 - 2026-01-11 02:14:55 点击率:次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。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# python3
# shelve模块的详解
# Python
# shelve的实例详解
# 使用Python解析JSON数据的基本方法
# Python操作json数据的一个简单例子
# Python3中的json模块使用详解
# 简单介绍Python中的JSON模块
# python pickle 和 shelve模块的用法
# 举例简单讲解Python中的数据存储模块shelve的用法
# Python使用shelve模块实现简单数据存储的方法
# 详解Python之数据序列化(json、pickle、shelve)
# python实现通过shelve修改对象实例
# python爬取之json、pickle与shelve库的深入讲解
# 是一个
# 希望能
# 掉了
# 可以使用
# 谢谢大家
# 后会
# 先前
# 数据格式
# Apoll
# bigberg
# age
# info
# txt
# time
# class
# Zous
# Luna
# open
# datetime
# dump
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
如何在宝塔面板创建新站点?
如何快速辨别茅台真假?关键步骤解析
Laravel API资源类怎么用_Laravel API Resource数据转换
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
如何用5美元大硬盘VPS安全高效搭建个人网站?
如何在云指建站中生成FTP站点?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
原生JS获取元素集合的子元素宽度实例
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
Android仿QQ列表左滑删除操作
实例解析Array和String方法
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
详解Android图表 MPAndroidChart折线图
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
Laravel模型事件有哪些_Laravel Model Event生命周期详解
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
如何构建满足综合性能需求的优质建站方案?
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
清除minerd进程的简单方法
Laravel如何使用Eloquent进行子查询
深圳网站制作的公司有哪些,dido官方网站?
Laravel如何处理表单验证?(Requests代码示例)
Laravel如何配置任务调度?(Cron Job示例)
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
如何用VPS主机快速搭建个人网站?
Laravel storage目录权限问题_Laravel文件写入权限设置
微信小程序 闭包写法详细介绍
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
如何在阿里云域名上完成建站全流程?
googleplay官方入口在哪里_Google Play官方商店快速入口指南
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
公司门户网站制作流程,华为官网怎么做?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
微信公众帐号开发教程之图文消息全攻略
音乐网站服务器如何优化API响应速度?
如何续费美橙建站之星域名及服务?
JavaScript数据类型有哪些_如何准确判断一个变量的类型
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
EditPlus 正则表达式 实战(3)
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址

