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中文字符串截取问题
Jun 15 Python
Python字符串处理实现单词反转
Jun 14 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
Apr 29 Python
Opencv实现抠图背景图替换功能
May 21 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
May 31 Python
python如何解析配置文件并应用到项目中
Jun 27 Python
python爬虫 批量下载zabbix文档代码实例
Aug 21 Python
Python脚本操作Excel实现批量替换功能
Nov 20 Python
PyTorch的torch.cat用法
Jun 28 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
Nov 28 Python
python3实现简单飞机大战
Nov 29 Python
Python测试框架pytest高阶用法全面详解
Jun 01 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
解析zend Framework如何自动加载类
2013/06/28 PHP
php生成动态验证码gif图片
2015/10/19 PHP
Mac下关于PHP环境和扩展的安装详解
2019/10/17 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
jQuery 开天辟地入门篇一
2009/12/09 Javascript
javascript使用正则表达式实现去掉空格之后的字符
2015/02/15 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
2015/02/23 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
Underscore.js 1.3.3 中文注释翻译说明
2015/06/25 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
2018/02/16 Javascript
jQuery实现鼠标移入移出事件切换功能示例
2018/09/06 jQuery
基于Vue中的父子传值问题解决
2020/07/27 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
浅谈Python peewee 使用经验
2017/10/20 Python
CSS3 绘制BMW logo实的现代码
2013/04/25 HTML / CSS
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
alice McCALL官网:澳大利亚时尚品牌
2020/11/16 全球购物
德国的各种媒体在线商店:Thalia.de(书籍、电子书、玩具等)
2020/10/08 全球购物
如何实现一个自定义类的序列化
2012/05/22 面试题
优秀老员工获奖感言
2014/02/15 职场文书
中等生评语大全
2014/05/04 职场文书
师德师风建设整改措施思想汇报
2014/10/11 职场文书
2014年控辍保学工作总结
2014/12/08 职场文书
七一活动主持词
2015/06/29 职场文书
2016年“12.4”法制宣传日活动总结
2016/04/01 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers
JavaScript ES6的函数拓展
2022/01/18 Javascript