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脚本实现格式化css文件
Apr 08 Python
python简单获取数组元素个数的方法
Jul 13 Python
使用Python中的tkinter模块作图的方法
Feb 07 Python
python如何通过twisted实现数据库异步插入
Mar 20 Python
matplotlib 纵坐标轴显示数据值的实例
May 25 Python
python用BeautifulSoup库简单爬虫实例分析
Jul 30 Python
对python操作kafka写入json数据的简单demo分享
Dec 27 Python
Python 隐藏输入密码时屏幕回显的实例
Feb 19 Python
Python3网络爬虫中的requests高级用法详解
Jun 18 Python
keras训练浅层卷积网络并保存和加载模型实例
Jul 02 Python
Python如何将模块打包并发布
Aug 30 Python
Python列表嵌套常见坑点及解决方案
Sep 30 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
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
简单实现php上传文件功能
2017/09/21 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
JavaScript 封装Ajax传递的数据代码
2009/06/05 Javascript
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
JavaScript中的匀速运动和变速(缓冲)运动详细介绍
2012/11/11 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
2013/07/01 Javascript
javascript完美拖拽的实现方法
2013/09/29 Javascript
解析JavaScript中点号“.”的多义性
2013/12/02 Javascript
Bootstrap零基础学习第一课之模板
2016/07/18 Javascript
JS取模、取商及取整运算方法示例
2016/10/13 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
深入对Vue.js $watch方法的理解
2017/03/20 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
2017/04/06 Javascript
Javascript ES6中数据类型Symbol的使用详解
2017/05/02 Javascript
详解webpack的proxyTable无效的解决方案
2018/06/15 Javascript
JavaScript实现正则去除a标签并保留内容的方法【测试可用】
2018/07/18 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
2018/09/11 Javascript
python使用cStringIO实现临时内存文件访问的方法
2015/03/26 Python
总结Python编程中三条常用的技巧
2015/05/11 Python
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
Python双精度浮点数运算并分行显示操作示例
2017/07/21 Python
Python中如何导入类示例详解
2019/04/17 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
python MultipartEncoder传输zip文件实例
2020/04/07 Python
处理textarea中的换行和空格
2019/12/12 HTML / CSS
制药工程专业应届生求职信
2013/09/24 职场文书
园林技术个人的自我评价
2014/02/15 职场文书
租房协议书范本
2014/04/09 职场文书
学校搬迁方案
2014/06/15 职场文书
商场父亲节活动方案
2014/08/27 职场文书
先进个人总结范文
2015/02/15 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书
react合成事件与原生事件的相关理解
2021/05/13 Javascript
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
2021/09/25 Java/Android