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进程通信之匿名管道实例讲解
Apr 11 Python
Pycharm学习教程(5) Python快捷键相关设置
May 03 Python
Windows系统下多版本pip的共存问题详解
Oct 10 Python
TensorFlow实现AutoEncoder自编码器
Mar 09 Python
Python删除n行后的其他行方法
Jan 28 Python
如何使用pyinstaller打包32位的exe程序
May 26 Python
Python 实现还原已撤回的微信消息
Jun 18 Python
浅谈python多进程共享变量Value的使用tips
Jul 16 Python
python 实现多维数组转向量
Nov 30 Python
python批量处理txt文件的实例代码
Jan 13 Python
python 写一个文件分发小程序
Dec 05 Python
jupyter notebook远程访问不了的问题解决方法
Jan 11 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
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
php生成随机密码的几种方法
2011/01/17 PHP
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
PHP源代码数组统计count分析
2011/08/02 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
PHP实现统计代码行数小工具
2019/09/19 PHP
In Javascript Class, how to call the prototype method.(three method)
2007/01/09 Javascript
DIV菜单层实现代码
2010/11/19 Javascript
用Jquery实现多级下拉框无刷新的联动
2010/12/22 Javascript
浅谈JavaScript之事件绑定
2013/07/08 Javascript
JS获取网页属性包括宽、高等等
2014/04/03 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
javascript实现鼠标拖动改变层大小的方法
2015/04/30 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
AngularJS模块详解及示例代码
2016/08/17 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
利用JS判断元素是否为数组的方法示例
2021/01/08 Javascript
[01:29]2017 DOTA2国际邀请赛官方英雄手办展示
2017/03/18 DOTA
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
使用Python读取大文件的方法
2018/02/11 Python
python opencv读mp4视频的实例
2018/12/07 Python
django项目中新增app的2种实现方法
2020/04/01 Python
如何用python写个模板引擎
2021/01/14 Python
Mamas & Papas沙特阿拉伯:英国最受欢迎的婴儿品牌
2017/11/20 全球购物
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
《狐假虎威》教学反思
2014/02/07 职场文书
优秀党务工作者事迹材料
2014/05/07 职场文书
经典毕业生求职信
2014/07/12 职场文书
社保代办委托书怎么写
2014/10/06 职场文书
意向协议书
2015/01/27 职场文书
河童之夏观后感
2015/06/11 职场文书
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android