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 相关文章推荐
pycharm下打开、执行并调试scrapy爬虫程序的方法
Nov 29 Python
Python3.4实现远程控制电脑开关机
Feb 22 Python
Python实现按逗号分隔列表的方法
Oct 23 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
Jan 23 Python
Python中常用的8种字符串操作方法
May 06 Python
Python转换时间的图文方法
Jul 01 Python
python基础 range的用法解析
Aug 23 Python
Python进程,多进程,获取进程id,给子进程传递参数操作示例
Oct 11 Python
tensorflow使用CNN分析mnist手写体数字数据集
Jun 17 Python
浅谈TensorFlow之稀疏张量表示
Jun 30 Python
Python WSGI 规范简介
Apr 11 Python
Python绘制分类图的方法
Apr 20 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实现简单洗牌算法
2013/06/18 PHP
codeigniter使用技巧批量插入数据实例方法分享
2013/12/31 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
PHP简单实现二维数组赋值与遍历功能示例
2017/10/19 PHP
JavaScript 全角转半角部分
2009/10/28 Javascript
用jquery实现点击栏目背景色改变
2012/12/10 Javascript
jQuery遍历Form示例代码
2013/09/03 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
2014/09/02 Javascript
深入浅析JavaScript中的作用域和上下文
2016/03/26 Javascript
JQuery的attr 与 val区别
2016/06/12 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
JS中使用正则表达式g模式和非g模式的区别
2017/04/01 Javascript
vue2.0父子组件间通信的实现方法
2017/04/19 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
2018/07/26 Javascript
在create-react-app中使用css modules的示例代码
2018/07/31 Javascript
Vue.js 无限滚动列表性能优化方案
2019/12/02 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
[01:20]DOTA2 2017国际邀请赛冠军之路无止竞
2017/06/19 DOTA
Python程序中的观察者模式结构编写示例
2016/05/27 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
python批量下载抖音视频
2019/06/17 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
Django中使用session保持用户登陆连接的例子
2019/08/06 Python
django中瀑布流写法实例代码
2019/10/14 Python
python 二维矩阵转三维矩阵示例
2019/11/30 Python
python框架Django实战商城项目之工程搭建过程图文详解
2020/03/09 Python
Python基于pandas爬取网页表格数据
2020/05/11 Python
详解Python中的编码问题(encoding与decode、str与bytes)
2020/09/30 Python
python3实现名片管理系统(控制台版)
2020/11/29 Python
英国香水店:The Perfume Shop
2017/03/27 全球购物
学籍证明模板
2014/11/21 职场文书
学困生帮扶工作总结
2015/08/13 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android
idea下配置tomcat避坑详解
2022/04/12 Servers