Python使用Pickle模块进行数据保存和读取的讲解


Posted in Python onApril 09, 2019

pickle 是一个 python 中, 压缩/保存/提取 文件的模块,字典和列表都是能被保存的.

但必须注意的是python2以ASCII形式保存,而在python3中pickle是使用转换二进制的数据压缩方法保存数据

所以,在保存或者读取数据的时候,打开文件应该使用‘wb' 'rb'的方式

import pickle
a = 'owoof'
with open('111.pkl', 'wb') as file:
    pickle.dump(a, file)

在Pickle模块中还有dumps()loads()函数,他们是直接实现一个二进制和pickle表示对象的转换,不用打开文件(这点与dump不同)

dumps()是将可读对象转换成二进制文件,并返回二进制文件,loads()是把二进制文件转换成可读对象,并返回对象

在使用dump()和load()时,需要注意用with open 打开一次文件每调用一次dump()就会在文件中生成一次数据, 当再次with open 打开文件时, 之前写数据调用了几次dump()就最多只能调用load()几次,而且每次dump()是和load()对应的.

with open('poins_normal.pkl', 'rb') as file:with open('poins_normal.pkl', 'rb') as file:
  class_1 = pickle.load(file)
  # print(np.shape(class_1))
  class_2 = pickle.load(file)
  labels = pickle.load(file)
  class_1 = pickle.load(file)
  # print(np.shape(class_1))
  class_2 = pickle.load(file)
  labels = pickle.load(file)

如上,我事先写了三次dump(),那么之后的三次load()是一一对应的,如果我进行第四次load()调用,编译器会提示data  ran out of .

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
python中的__init__ 、__new__、__call__小结
Apr 25 Python
python实现图片变亮或者变暗的方法
Jun 01 Python
python去掉行尾的换行符方法
Jan 04 Python
Python的CGIHTTPServer交互实现详解
Feb 08 Python
对numpy.append()里的axis的用法详解
Jun 28 Python
Linux下python制作名片示例
Jul 20 Python
python实现单链表中删除倒数第K个节点的方法
Sep 28 Python
解决Tensorflow sess.run导致的内存溢出问题
Feb 05 Python
Python requests接口测试实现代码
Sep 08 Python
python爬虫中采集中遇到的问题整理
Nov 27 Python
python 实现学生信息管理系统的示例
Nov 28 Python
pytest配置文件pytest.ini的详细使用
Apr 17 Python
Python爬取数据保存为Json格式的代码示例
Apr 09 #Python
python实现QQ空间自动点赞功能
Apr 09 #Python
Python实现的多进程拷贝文件并显示百分比功能示例
Apr 09 #Python
Python使用crontab模块设置和清除定时任务操作详解
Apr 09 #Python
Python实现的读取文件内容并写入其他文件操作示例
Apr 09 #Python
Python实现根据日期获取当天凌晨时间戳的方法示例
Apr 09 #Python
Python匿名函数及应用示例
Apr 09 #Python
You might like
使用PHP获取当前url路径的函数以及服务器变量
2013/06/29 PHP
9个经典的PHP代码片段分享
2014/12/18 PHP
PHP中使用Imagick实现各种图片效果实例
2015/01/21 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
2016/01/11 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
经典的带阴影的可拖动的浮动层
2006/06/26 Javascript
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
JS Loading功能的简单实现
2013/11/29 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
逻辑表达式中与或非的用法详解
2016/06/06 Javascript
Bootstrap面板学习使用
2017/02/09 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
详解Vue 全局引入bass.scss 处理方案
2018/03/26 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
localstorage实现带过期时间的缓存功能
2019/06/28 Javascript
javascript实现异形滚动轮播
2019/11/28 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
python使用正则搜索字符串或文件中的浮点数代码实例
2014/07/11 Python
python获取地震信息 微信实时推送
2019/06/18 Python
win10下python2和python3共存问题解决方法
2019/12/23 Python
基于Python获取照片的GPS位置信息
2020/01/20 Python
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
HTML5使用Audio标签实现歌词同步的效果
2016/03/17 HTML / CSS
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
心得体会开头
2014/01/01 职场文书
五年级科学教学反思
2014/02/05 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
坚守艰苦奋斗精神坚决反对享乐主义整改措施
2014/09/17 职场文书
赔偿协议书怎么写
2015/01/28 职场文书
紫日观后感
2015/06/05 职场文书
体育教师教学随笔
2015/08/15 职场文书
导游词之天津盘山
2019/11/01 职场文书