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 pickle 和 shelve模块的用法
Sep 16 Python
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
Mar 19 Python
在Django中使用Sitemap的方法讲解
Jul 22 Python
Unicode和Python的中文处理
Mar 19 Python
单链表反转python实现代码示例
Feb 08 Python
python 获取字符串MD5值方法
May 29 Python
Python多图片合并PDF的方法
Jan 03 Python
Django CSRF认证的几种解决方案
Mar 03 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
Apr 10 Python
Python如何实现FTP功能
May 28 Python
python基础之函数的定义和调用
Oct 24 Python
详解pytorch创建tensor函数
Mar 22 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 htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
PHP时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
php计算多个集合的笛卡尔积实例详解
2017/02/16 PHP
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
2010/03/16 Javascript
jquery配合css简单实现返回顶部效果
2013/09/30 Javascript
编写自己的jQuery提示框(Tip)插件
2015/02/05 Javascript
jQuery滚动加载图片实现原理
2015/12/14 Javascript
jQuery Validation PlugIn的使用方法详解
2015/12/18 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
2016/12/27 Javascript
微信小程序 封装http请求实例详解
2017/01/16 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
vue开发拖拽进度条滑动组件
2019/09/21 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
[39:19]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第二场 11.26
2020/11/30 DOTA
Python的print用法示例
2014/02/11 Python
python通过BF算法实现关键词匹配的方法
2015/03/13 Python
Python切换pip安装源的方法详解
2016/11/18 Python
Python队列的定义与使用方法示例
2017/06/24 Python
Python自定义简单图轴简单实例
2018/01/08 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
Pytorch mask-rcnn 实现细节分享
2020/06/24 Python
python中字典增加和删除使用方法
2020/09/30 Python
淘宝活动策划方案
2014/02/06 职场文书
保护动物倡议书
2014/04/15 职场文书
暑期学习心得体会
2014/09/02 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
技术转让协议书
2016/03/19 职场文书
员工安全责任协议书
2016/03/22 职场文书
vue3中的组件间通信
2021/03/31 Vue.js
Python图像处理之图像拼接
2021/04/28 Python
Python用tkinter实现自定义记事本的方法详解
2022/03/31 Python