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程序员鲜为人知但你应该知道的17个问题
Jun 04 Python
python通过yield实现数组全排列的方法
Mar 18 Python
Python数据结构与算法之列表(链表,linked list)简单实现
Oct 30 Python
解决Python selenium get页面很慢时的问题
Jan 30 Python
python读取txt文件并取其某一列数据的示例
Feb 19 Python
python super用法及原理详解
Jan 20 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
Mar 28 Python
基于python实现把json数据转换成Excel表格
May 07 Python
在tensorflow下利用plt画论文中loss,acc等曲线图实例
Jun 15 Python
详解python metaclass(元类)
Aug 13 Python
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
Jun 08 Python
Python 绘制多因子柱状图
May 11 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
smarty的保留变量问题
2008/10/23 PHP
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
php 数组动态添加实现代码(最土团购系统的价格排序)
2011/12/30 PHP
详解PHP数组赋值方法
2015/11/07 PHP
PHP中rename()函数的妙用讲解
2019/02/28 PHP
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
JS动态添加option和删除option(附实例代码)
2013/04/01 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
JavaScript实现列出数组中最长的连续数
2014/12/29 Javascript
javascript 常见功能汇总
2015/06/11 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
javascript自执行函数
2017/02/10 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
Vue渲染函数详解
2017/09/15 Javascript
vue的一个分页组件的示例代码
2017/12/25 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
2019/06/04 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
[00:58]PWL开团时刻DAY5——十人开雾0换5
2020/11/04 DOTA
PyCharm安装第三方库如Requests的图文教程
2018/05/18 Python
Python3 max()函数基础用法
2019/02/19 Python
postman传递当前时间戳实例详解
2019/09/14 Python
python烟花效果的代码实例
2020/02/25 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
HTML5拖放API实现自动生成相框功能
2020/04/07 HTML / CSS
XML文档面试题
2015/08/05 面试题
2014年五四青年节演讲稿范文
2014/04/22 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
青少年法制教育心得体会
2016/01/14 职场文书
python使用pygame创建精灵Sprite
2021/04/06 Python
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle
Mongo服务重启异常问题的处理方法
2021/07/01 MongoDB