Python序列化与反序列化pickle用法实例

yipeiwu_com6年前Python基础

这篇文章主要介绍了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自定义函数实现求两个数最大公约数、最小公倍数示例

Python自定义函数实现求两个数最大公约数、最小公倍数示例

本文实例讲述了Python自定义函数实现求两个数最大公约数、最小公倍数。分享给大家供大家参考,具体如下: 1. 求最小公倍数的算法: 最小公倍数  =  两个整数的乘...

python输入错误后删除的方法

python输入错误怎么删除? python常用的输入函数raw_input()在输入的过程中如果输错了,不能像在命令行下那样backspace取消已输入的字符,还得重新再输入。 怎么才...

Pycharm如何打断点的方法步骤

Pycharm如何打断点的方法步骤

一. python代码的调试方式 1. 使用print语句打印出来 2. 在编辑工具中,加断点跟踪(打断点) 3. 使用日志模块,输出到日志中 下面我们来看一下如何打断点 二. 环境 p...

python自动登录12306并自动点击验证码完成登录的实现源代码

以下代码可自动登录12306 - 包括输入用户名密码以及自动识别验证码并点击验证码登陆。该源码需要稍作修改: 把  username.send_keys('xxxxxxx')&...

利用python3随机生成中文字符的实现方法

前言 运行环境在Python3.6下,Python2的解决方案网上有很多.,想学习python2实现的朋友们可以参考这篇文章:/post/34884.htm,下面来一起看看详细的介绍吧。...