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 23 Python
使用Python编写一个模仿CPU工作的程序
Apr 16 Python
Python中的字典与成员运算符初步探究
Oct 13 Python
Python numpy实现二维数组和一维数组拼接的方法
Jun 05 Python
pandas值替换方法
Jul 10 Python
python如何爬取网站数据并进行数据可视化
Jul 08 Python
Django基础知识 URL路由系统详解
Jul 18 Python
Python的bit_length函数来二进制的位数方法
Aug 27 Python
Pytorch 多块GPU的使用详解
Dec 31 Python
Pycharm连接gitlab实现过程图解
Sep 01 Python
matplotlib实现数据实时刷新的示例代码
Jan 05 Python
python 写一个水果忍者游戏
Jan 13 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
收音机的保养
2021/03/01 无线电
php url地址栏传中文乱码解决方法集合
2010/06/25 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
2014/04/23 PHP
CodeIgniter输出中文乱码的两种解决办法
2014/06/12 PHP
CI(Codeigniter)的Setting增强配置类实例
2016/01/06 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
一个javascript参数的小问题
2008/03/02 Javascript
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
JS实现黑色大气的二级导航菜单效果
2015/09/18 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
使用BootStrap实现用户登录界面UI
2016/08/10 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
[js高手之路]HTML标签解释成DOM节点的实现方法
2017/08/31 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
2020/11/05 Javascript
Python多层嵌套list的递归处理方法(推荐)
2016/06/08 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
Python hashlib常见摘要算法详解
2020/01/13 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
详解HTML5如何使用可选样式表为网站或应用添加黑暗模式
2020/04/07 HTML / CSS
美国最大的香水出口:FragranceX.com
2017/11/04 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
安全大检查实施方案
2014/02/22 职场文书
勤俭节约倡议书
2014/04/14 职场文书
老师对学生的评语
2014/04/18 职场文书
质量承诺书怎么写
2014/05/24 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
2014年校务公开工作总结
2014/12/18 职场文书
2016年社区“我们的节日·中秋节”活动总结
2016/04/05 职场文书
诚信高考倡议书
2019/06/24 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
sass 常用备忘案例详解
2021/09/15 HTML / CSS