python shelve模块_python3 shelve模块的实例用法讲解
python3 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。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。
您可能感兴趣的文章:
python shelve模块_python3 shelve模块的实例用法讲解相关推荐
- python列表split_Python-split()函数实例用法讲解
在Python中,split() 方法可以实现将一个字符串按照指定的分隔符切分成多个子串,这些子串会被保存到列表中(不包含分隔符),作为方法的返回值反馈回来. split函数用法 split(sep= ...
- python shelve模块_python3 shelve模块的详解
python3 shelve模块的详解 一.简介 在python3中我们使用json或者pickle持久化数据,能dump多次,但只能load一次,因为先前的数据已经被后面dump的数据覆盖掉了.如果 ...
- python hashlib模块_python3 hashlib模块
Python3 hashlib模块和hmac 模块(加密) hashlib 是一个提供了一些流行的hash算法的 Python 标准库.其中所包括的算法有 md5, sha1, sha224, sha ...
- python邮件客户端_python3之模块SMTP协议客户端与email邮件MIME对象
1.smtplib模块的常用类与方法 smtplib模块实现邮件的发送功能,模拟一个stmp客户端,通过与smtp服务器交互来实现邮件发送的功能,可以理解成Foxmail的发邮件功能,在使用之前我们需 ...
- python3常用模块_Python3 常用模块1
os模块 通过os模块我们可以与操作系统交互, 控制文件和文件夹 对文件夹操作 # 判断是否为文件夹 os.path.isdir() # 创建文件夹 os.mkdir() # 删除文件夹 os.rmd ...
- python3常用模块_Python3 常用模块
一.time与datetime模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们 ...
- python3 安装模块_python3 Crypto模块的安装与使用
前言 安装Cryto模块用pip3 install pycrypto老是会报错.搞了半天,最终决定在linux下面去做. 以下流程限于linux系统: Crypto不是自带的模块,需要下载. 我下载了 ...
- python3 os模块_python3 os模块
os模块就是对操作系统进行操作, 这个模块提供了一种使用操作系统相关功能的可移植方式. 1.系统信息 posix.uname_result(sysname='Linux', nodename='lia ...
- python3 time模块_python3 time模块
importtime#strftime获取当前系统格式化时间,%X和%H:%M:%S相等 print(time.strftime("%Y-%m-%d %H:%M:%S"))prin ...
最新文章
- android布局共享,布局共享(如所有ACTIVITY拥有相同的布局部分,比如ACTIONBAR,在BASEACTIVITY中写入布局)...
- 开源项目JacpFX
- OPPO A59s手机系统时间停止运行
- kafka 报错:kafka server:Message was too large ,server rejected it to avoid allocation
- 福建品品香茶业有限公司业务迁移上云
- Magisk —— 安卓新一代的第三方拓展,systemless模式
- 消息中间件学习总结(21)——RocketMQ 消息丢失场景分析及如何解决!
- bigdecimal判断等于0_Linux | shell脚本-比较判断和运算语句
- Windows下打印服务器的管理(二)
- R语言data manipulation学习笔记之subset data
- onenote标注pdf笔记_无限接近纸质笔记:学生党的 OneNote 使用心得
- centos 切换终端_centos进入不同终端的几种方法
- 如何在SharePoint中隐藏回收站
- 巧用 CSS 实现炫彩三角边框动画
- [USACO07DEC]泥水坑Mud Puddles BFS BZOJ 1627
- Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F...'
- cesium加载动图方案三:通过apng-js库实现
- 小红书报告:2023美妆个护白皮书解读
- pcl opencv ROS_message三者之间点云和图片类型转换总结
- Numpy中outer的应用
热门文章
- 挑战微信的社交产品,不应该是什么样的?
- CSU 1129:送货到家
- mac xrdp远程 linux,远程连接linux桌面之xrdp
- systemtap examples
- 阿里云Redis 外网访问
- qq自带表情包是用html做的吗,腾讯表情设计师:3D版的QQ黄脸表情是这样做出来的...
- 机器学习笔记-standford公开课课程学习笔记
- java 数组求和_java 实现随机数组输出及求和实例详解
- php sha512解密,PHP加密函数 sha256 sha512 sha256_file() sha512_file()
- 309、各品牌路由器登录网址大全 路由器默认用户名/密码