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字符串处理实现单词反转
Jun 14 Python
对Python中的@classmethod用法详解
Apr 21 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
Python3.5以上版本lxml导入etree报错的解决方案
Jun 26 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
Jul 04 Python
django echarts饼图数据动态加载的实例
Aug 12 Python
Pandas操作CSV文件的读写实现方法
Nov 13 Python
Pytorch 使用不同版本的cuda的方法步骤
Apr 02 Python
keras自定义损失函数并且模型加载的写法介绍
Jun 15 Python
python文件操作seek()偏移量,读取指正到指定位置操作
Jul 05 Python
全网最细 Python 格式化输出用法讲解(推荐)
Jan 18 Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 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
环境会对咖啡种植有什么影响
2021/03/03 咖啡文化
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
PHP如何使用array_unshift()在数组开头插入元素
2020/09/01 PHP
js 操作select和option常用代码整理
2012/12/13 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
Jquery中的层次选择器与find()的区别示例介绍
2014/02/20 Javascript
基于jQuery实现在线选座之高铁版
2015/08/24 Javascript
关于JS变量和作用域详解
2016/07/28 Javascript
xtemplate node.js 的使用方法实例解析
2016/08/22 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
webpack3之loader全解析
2017/10/26 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
Nuxt.js SSR与权限验证的实现
2018/11/21 Javascript
Vue一次性简洁明了引入所有公共组件的方法
2018/11/28 Javascript
Vue表单控件绑定图文详解
2019/02/11 Javascript
[01:28:43]2014 DOTA2华西杯精英邀请赛5 24 DK VS CIS
2014/05/25 DOTA
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
[54:19]完美世界DOTA2联赛PWL S2 Magma vs PXG 第二场 11.28
2020/12/01 DOTA
深入Python解释器理解Python中的字节码
2015/04/01 Python
python根据日期返回星期几的方法
2015/07/06 Python
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
python中requests和https使用简单示例
2018/01/18 Python
python flask中静态文件的管理方法
2018/03/20 Python
Python collections.defaultdict模块用法详解
2020/06/18 Python
利用CSS3的transition属性实现滑动效果
2015/08/05 HTML / CSS
详解css3 Transition属性(平滑过渡菜单栏案例)
2017/09/05 HTML / CSS
Linux上比较文件的命令都有哪些
2012/02/24 面试题
房产继承公证书
2014/04/09 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
关于运动会的广播稿(10篇)
2014/09/12 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
校友回访母校寄语
2015/02/26 职场文书
2015年中个人总结范文
2015/03/10 职场文书
高中运动会前导词
2015/07/20 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers
Python Pandas pandas.read_sql函数实例用法
2021/06/21 Python