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 相关文章推荐
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
Oct 13 Python
python编程开发之类型转换convert实例分析
Nov 13 Python
pycharm安装图文教程
May 02 Python
快速查询Python文档方法分享
Dec 27 Python
python实现雨滴下落到地面效果
Jun 21 Python
django foreignkey(外键)的实现
Jul 29 Python
python 叠加等边三角形的绘制的实现
Aug 14 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
Nov 26 Python
Tensorflow 实现释放内存
Feb 03 Python
使用Python内置模块与函数进行不同进制的数的转换
Apr 26 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
Jun 01 Python
python中tkinter窗口位置\坐标\大小等实现示例
Jul 09 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调用Google translate_tts api实现代码
2013/08/07 PHP
php使用explode()函数将字符串拆分成数组的方法
2015/02/17 PHP
PDO::errorCode讲解
2019/01/28 PHP
js查错流程归纳
2012/05/04 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
JQuery中阻止事件冒泡几种方式及其区别介绍
2014/01/15 Javascript
from表单多个按钮提交用onclick跳转不同action
2014/04/24 Javascript
jQuery的position()方法详解
2015/07/19 Javascript
js实现select选择框效果及美化
2016/08/19 Javascript
详解react-redux插件入门
2018/04/19 Javascript
微信小程序左滑动显示菜单功能的实现
2018/06/14 Javascript
图片文字识别(OCR)插件Ocrad.js教程
2018/11/26 Javascript
JS实现简单的点赞与踩功能示例
2018/12/05 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
JavaScript对象原型链原理详解
2020/02/05 Javascript
vue从零实现一个消息通知组件的方法详解
2020/03/16 Javascript
[01:45]亚洲邀请赛互动指南虚拟物品介绍
2015/01/30 DOTA
python字符串替换的2种方法
2014/11/30 Python
深入了解Python数据类型之列表
2016/06/24 Python
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
django中模板的html自动转意方法
2018/05/27 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
2019/07/23 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
如何在windows下安装配置python工具Ulipad
2020/10/27 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
2021/02/01 Python
几个常见的消息中间件(MOM)
2014/01/08 面试题
试用期员工考核制度
2014/01/22 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
《鱼游到了纸上》教学反思
2014/02/20 职场文书
设计师求职信模板
2014/05/06 职场文书
诉讼授权委托书范本
2014/10/05 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
Python机器学习之决策树和随机森林
2021/07/15 Javascript
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
2022/04/14 Python