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 相关文章推荐
python 默认参数问题的陷阱
Feb 29 Python
tensorflow实现简单的卷积网络
May 24 Python
Python用61行代码实现图片像素化的示例代码
Dec 10 Python
Python通过for循环理解迭代器和生成器实例详解
Feb 16 Python
python 实现查询Neo4j多节点的多层关系
Dec 23 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
Jan 28 Python
pytorch实现seq2seq时对loss进行mask的方式
Feb 18 Python
Python实现捕获异常发生的文件和具体行数
Apr 25 Python
Python函数递归调用实现原理实例解析
Aug 11 Python
Django路由层URLconf作用及原理解析
Sep 24 Python
如何基于Python和Flask编写Prometheus监控
Nov 25 Python
Pyhton模块和包相关知识总结
May 12 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防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
js取得url地址参数实例
2013/02/22 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
对node.js中render和send的用法详解
2018/05/14 Javascript
JS实现Cookie读、写、删除操作工具类示例
2018/08/28 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
vue项目打包之开发环境和部署环境的实现
2020/04/23 Javascript
[01:11]回顾历届DOTA2国际邀请赛中国区预选赛
2017/06/26 DOTA
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
Tessabit日本:集世界奢侈品和设计师品牌的意大利精品买手店
2020/01/07 全球购物
澳大利亚家居用品零售商:Harris Scarfe
2020/10/10 全球购物
应聘自荐信
2013/12/14 职场文书
护理学专业求职信
2014/06/29 职场文书
田径运动会通讯稿
2014/09/13 职场文书
校园环保广播稿(3篇)
2014/09/15 职场文书
个人违纪检讨书
2014/09/15 职场文书
2015年校长新年寄语
2014/12/08 职场文书
2015学习委员工作总结范文
2015/04/03 职场文书
小学新课改心得体会
2016/01/22 职场文书
创业计划书之养殖业
2019/10/11 职场文书
php 获取音视频时长,PHP 利用getid3 获取音频文件时长等数据
2021/04/01 PHP
PostgreSQL自动更新时间戳实例代码
2021/11/27 PostgreSQL
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
2022/03/03 Python
Python中Schedule模块使用详解 周期任务神器
2022/04/19 Python