Python pickle模块实现对象序列化


Posted in Python onNovember 22, 2019

这篇文章主要介绍了Python pickle模块实现对象序列化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

作用

对Python对象进行序列化,便于存储和传输

Python对象序列化成bytes类型

pickle.dumps(obj) 将Python对象转化为bytes类型

pickle.loads(str) 将转化成的bytes类型数据还原成对象

Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import pickle
>>> mydict = {'id':123, 'name':'abc'}
>>> pickle_str = pickle.dumps(mydict)
>>> pickle_str
b'\x80\x03}q\x00(X\x02\x00\x00\x00idq\x01K{X\x04\x00\x00\x00nameq\x02X\x03\x00\x00\x00abcq\x03u.'
>>> newdict = pickle.loads(pickle_str)
>>> newdict
{'id': 123, 'name': 'abc'}

Python对象序列化写入文件

pickle.dump(obj, file)

可以存储多个对象,读取时按存储顺序读取

>>> import pickle
>>> mydict = {'id':123, 'name':'abc'}
>>> file = open('pickle.txt','wb')
>>> pickle.dump(mydict, file)
>>> file.close()

从文件反序列化读取Python对象

pickle.load(obj, file)

>>> import pickle
>>> file = open('pickle.txt','rb')
>>> newdict = pickle.load(file)
>>> file.close()
>>> newdict
{'id': 123, 'name': 'abc'}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python编程判断这天是这一年第几天的方法示例
Apr 18 Python
python中requests小技巧
May 10 Python
python的exec、eval使用分析
Dec 11 Python
JavaScript实现一维数组转化为二维数组
Apr 17 Python
Python版中国省市经纬度
Feb 11 Python
安装完Python包然后找不到模块的解决步骤
Feb 13 Python
python实现连连看游戏
Feb 14 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
Mar 28 Python
Python flask框架端口失效解决方案
Jun 04 Python
python用tkinter实现一个简易能进行随机点名的界面
Sep 27 Python
Pandas自定义选项option设置
Jul 25 Python
Python与C++中梯度方向直方图的实现
Mar 17 Python
python绘制无向图度分布曲线示例
Nov 22 #Python
Python如何实现强制数据类型转换
Nov 22 #Python
python实现宿舍管理系统
Nov 22 #Python
python实现简易淘宝购物
Nov 22 #Python
Python调用graphviz绘制结构化图形网络示例
Nov 22 #Python
python实现简单图书管理系统
Nov 22 #Python
使用Python生成200个激活码的实现方法
Nov 22 #Python
You might like
php中count获取多维数组长度的方法
2014/11/03 PHP
简单理解PHP的面向对象编程方式
2016/05/17 PHP
Laravel日志用法详解
2016/10/09 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
优化javascript的执行速度
2010/01/23 Javascript
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
js里的prototype使用示例
2010/11/19 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
2011/02/26 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
jquery一般方法介绍 入门参考
2011/06/21 Javascript
jQuery + Flex 通过拖拽方式动态改变图片的代码
2011/08/03 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
2015/04/27 Javascript
Boostrap入门准备之border box
2016/05/09 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
vue2.0结合Element-ui实战案例
2019/03/06 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
Python with用法实例
2015/04/14 Python
python判断windows系统是32位还是64位的方法
2015/05/11 Python
将tensorflow的ckpt模型存储为npy的实例
2018/07/09 Python
python实现求两个字符串的最长公共子串方法
2018/07/20 Python
django框架中ajax的使用及避开CSRF 验证的方式详解
2019/12/11 Python
解决python replace函数替换无效问题
2020/01/18 Python
css3实现背景模糊的三种方式(小结)
2020/05/15 HTML / CSS
基于HTML5 的人脸识别活体认证的实现方法
2016/06/22 HTML / CSS
网站域名和主机:Domain.com
2019/04/01 全球购物
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
《梅兰芳学艺》教学反思
2014/02/24 职场文书
公司经理聘任书
2014/03/29 职场文书
给小学生的新年寄语
2014/04/04 职场文书
小学教师见习总结
2015/06/23 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL