Python序列化与反序列化pickle用法实例


Posted in Python onNovember 11, 2019

这篇文章主要介绍了Python序列化与反序列化pickle用法实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

要将Python对象作为一个文件的形式保存到磁盘,就叫序列化;

当我们需要用到这个这对象,再从磁盘加载这个对象,就叫反序列化

Python自带的pickle可以帮我们实现,pickle这个单词是咸菜的意思,咸菜耐储存,是不是很形象呀?

对象的存储分为两步:

1.将对象在内存中的数据抓取取来,转换成一个有序的文本,这一步就是序列化

2.再将文本存储到磁盘中

代码如下

import pickle
class Bird(object):
	have_feather = True
reproduction_method = "egg"#
# 创建一个对象
summer = Bird()
pickle_string = pickle.dumps(summer)# 已被序列化成二进制数据
with open("summer.pkl", "wb") as fp:
	fp.write(pickle_string)
# dump方法可以把上面两步作为一步来完成:# with open(
	"summer.pkl", "wb") as fp: #pickle.dump(
	summer, fp)
# 从磁盘文件上恢复对象: 先读取文件, 再loads
with open("summer.pkl", "rb") as fp:
	summer = fp.read()# 先读取
summer = pickle.loads(summer)# 再序列化
print(summer.have_feather)# 或者用load方法, 一步到位# with open(
		"summer.pkl", "rb") as fp: #summer =
	pickle.load(fp)# print(summer.have_feather)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Django中同时使用多个配置文件的方法
Jul 22 Python
python中将函数赋值给变量时需要注意的一些问题
Aug 18 Python
分数霸榜! python助你微信跳一跳拿高分
Jan 08 Python
浅谈Python2获取中文文件名的编码问题
Jan 09 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
Feb 01 Python
Python实现屏幕截图的两种方式
Feb 05 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
Apr 17 Python
Django渲染Markdown文章目录的方法示例
Jan 02 Python
Python 读取串口数据,动态绘图的示例
Jul 02 Python
Python Django搭建网站流程图解
Jun 13 Python
pytorch学习教程之自定义数据集
Nov 10 Python
python playwright 自动等待和断言详解
Nov 27 Python
详解Python可视化神器Yellowbrick使用
Nov 11 #Python
安装Pycharm2019以及配置anconda教程的方法步骤
Nov 11 #Python
详解Python中打乱列表顺序random.shuffle()的使用方法
Nov 11 #Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
Nov 11 #Python
Python多继承以及MRO顺序的使用
Nov 11 #Python
python 有效的括号的实现代码示例
Nov 11 #Python
Python+OpenCV实现实时眼动追踪的示例代码
Nov 11 #Python
You might like
php使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
php实现mysql数据库分表分段备份
2015/06/18 PHP
浅谈PHP中的
2016/04/23 PHP
PHP session 会话处理函数
2016/06/06 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
PHP实现Huffman编码/解码的示例代码
2018/04/20 PHP
php实现微信支付之退款功能
2018/05/30 PHP
获取任意Html元素与body之间的偏移距离 offsetTop、offsetLeft (For:IE5+ FF1 )[
2006/12/22 Javascript
jQuery 页面载入进度条实现代码
2009/02/08 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
[01:02:05]LGD vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[01:06:54]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第一场 1月24日
2021/03/11 DOTA
python批量提交沙箱问题实例
2014/10/08 Python
Python Tkinter GUI编程入门介绍
2015/03/10 Python
Python3读取zip文件信息的方法
2015/05/22 Python
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
将tensorflow的ckpt模型存储为npy的实例
2018/07/09 Python
python针对不定分隔符切割提取字符串的方法
2018/10/26 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
Pytorch释放显存占用方式
2020/01/13 Python
Python tkinter模版代码实例
2020/02/05 Python
将SVG图引入到HTML页面的实现
2019/09/20 HTML / CSS
党员对照检查材料思想汇报(党的群众路线)
2014/09/24 职场文书
正风肃纪剖析材料
2014/09/30 职场文书
成事在人观后感
2015/06/16 职场文书
python OpenCV学习笔记
2021/03/31 Python
分享几个JavaScript运算符的使用技巧
2021/04/24 Javascript
图神经网络GNN算法
2022/05/11 Python