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实现的石头剪子布代码分享
Aug 22 Python
wxpython中Textctrl回车事件无效的解决方法
Jul 21 Python
Windows下Python2与Python3两个版本共存的方法详解
Feb 12 Python
Python简单实现的代理服务器端口映射功能示例
Apr 08 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
Apr 19 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
int在python中的含义以及用法
Jun 27 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
Aug 24 Python
python飞机大战 pygame游戏创建快速入门详解
Dec 17 Python
python3注册全局热键的实现
Mar 22 Python
python numpy中multiply与*及matul 的区别说明
May 26 Python
python代码实现备忘录案例讲解
Jul 26 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 文件夹删除、php清除缓存程序
2009/08/25 PHP
色色整理的PHP面试题集锦
2012/03/08 PHP
PHP设计模式之调解者模式的深入解析
2013/06/13 PHP
php从完整文件路径中分离文件目录和文件名的方法
2015/03/13 PHP
laravel 5.1下php artisan migrate的使用注意事项总结
2017/06/07 PHP
转一个日期输入控件,支持FF
2007/04/27 Javascript
jQuery对象和DOM对象相互转化
2009/04/24 Javascript
jquery放大镜效果超漂亮噢
2013/11/15 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
js去字符串前后空格的实现方法
2016/02/26 Javascript
jquery使用on绑定a标签无效 只能用live解决
2016/06/02 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
mvc中form表单提交的三种方式(推荐)
2016/08/10 Javascript
js闭包用法实例详解
2016/12/13 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
使用nvm和nrm优化node.js工作流的方法
2019/01/17 Javascript
JS实现简单的抽奖转盘效果示例
2019/02/16 Javascript
vue模块拖拽实现示例代码
2019/03/09 Javascript
[52:06]完美世界DOTA2联赛决赛日 Inki vs LBZS 第一场 11.08
2020/11/10 DOTA
Python闭包实现计数器的方法
2015/05/05 Python
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
使用Python读取安卓手机的屏幕分辨率方法
2018/03/31 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
Django2.1.3 中间件使用详解
2018/11/26 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
全球性的在线鞋类品牌:Public Desire
2019/04/03 全球购物
.net软件工程师应聘上机试题
2015/03/10 面试题
如果让你测试一台高速激光打印机,你都会进行哪些测试
2012/12/04 面试题
《陋室铭》教学反思
2014/02/26 职场文书
建筑安全标语
2014/06/07 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
金融专业银行实习证明模板
2014/11/28 职场文书
接收函格式
2015/01/30 职场文书
2015年国庆节寄语
2015/08/17 职场文书
MySQL命令无法输入中文问题的解决方式
2021/08/30 MySQL