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标准库之多进程(multiprocessing包)介绍
Nov 25 Python
python通过pil模块获得图片exif信息的方法
Mar 16 Python
Python控制多进程与多线程并发数总结
Oct 26 Python
python将unicode转为str的方法
Jun 21 Python
Python 基础教程之str和repr的详解
Aug 20 Python
Python Tkinter实现简易计算器功能
Jan 30 Python
python文本数据相似度的度量
Mar 12 Python
Python向MySQL批量插数据的实例讲解
Mar 31 Python
Python实现的knn算法示例
Jun 14 Python
python批量修改图片尺寸,并保存指定路径的实现方法
Jul 04 Python
Python  Asyncio模块实现的生产消费者模型的方法
Mar 01 Python
Python一些基本的图像操作和处理总结
Jun 23 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
福利彩票幸运号码自动生成器
2006/10/09 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
php返回json数据函数实例
2014/10/09 PHP
PHP操作文件的一些基本函数使用示例
2014/11/18 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
2017/06/21 PHP
jquery实用代码片段集合
2010/08/12 Javascript
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
javascript实现字符串反转的方法
2015/02/05 Javascript
jQuery实现平滑滚动页面到指定锚点链接的方法
2015/07/15 Javascript
jquery+php实现滚动的数字特效
2015/11/29 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
jQuery的ready方法实现原理分析
2016/10/26 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
angular ng-repeat数组中的数组实例
2017/02/18 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
ES6学习笔记之Set和Map数据结构详解
2017/04/07 Javascript
Bootstrap图片轮播效果详解
2017/10/17 Javascript
详解angular路由高亮之RouterLinkActive
2018/04/28 Javascript
javaScript把其它类型转换为Number类型
2019/10/13 Javascript
Python迭代和迭代器详解
2016/11/10 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
2018/06/22 Python
Django中更改默认数据库为mysql的方法示例
2018/12/05 Python
Python类和对象的定义与实际应用案例分析
2018/12/27 Python
Python3 实现文件批量重命名示例代码
2019/06/03 Python
python的re模块使用方法详解
2019/07/26 Python
Python获取时间戳代码实例
2019/09/24 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
Python实现RabbitMQ6种消息模型的示例代码
2020/03/30 Python
物理教育专业毕业生推荐信
2013/11/03 职场文书
培训通知书模板
2015/04/17 职场文书
离职证明格式样本
2015/06/12 职场文书
golang 实现对Map进行键值自定义排序
2021/04/28 Golang
详解JAVA中的OPTIONAL
2021/06/14 Java/Android
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers