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目录操作之python遍历文件夹后将结果存储为xml
Jan 27 Python
python求列表交集的方法汇总
Nov 10 Python
python网络编程调用recv函数完整接收数据的三种方法
Mar 31 Python
Python对CSV、Excel、txt、dat文件的处理
Sep 18 Python
python如何求解两数的最大公约数
Sep 27 Python
opencv实现图片模糊和锐化操作
Nov 19 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
Aug 22 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
Oct 11 Python
Django form表单与请求的生命周期步骤详解
Jun 07 Python
浅析Python中字符串的intern机制
Oct 03 Python
Python+Opencv实现把图片、视频互转的示例
Dec 17 Python
Python常遇到的错误和异常
Nov 02 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
javascript工具库代码
2012/03/29 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
JS递归遍历对象获得Value值方法技巧
2016/06/14 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
详解vue之页面缓存问题(基于2.0)
2017/01/10 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
jQuery实现动态删除LI的方法
2017/05/30 jQuery
Vue+mui实现图片的本地缓存示例代码
2018/05/24 Javascript
详解小程序输入框闪烁及重影BUG解决方案
2018/08/31 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
2019/02/22 Javascript
[03:07]完美世界DOTA2联赛PWL DAY10 决赛集锦
2020/11/11 DOTA
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
python获取当前时间对应unix时间戳的方法
2015/05/15 Python
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
python 接口返回的json字符串实例
2018/03/27 Python
Python文本处理之按行处理大文件的方法
2018/04/09 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
解决TensorFlow模型恢复报错的问题
2020/02/06 Python
django自定义非主键自增字段类型详解(auto increment field)
2020/03/30 Python
基于Python爬取51cto博客页面信息过程解析
2020/08/25 Python
高中生的学习总结自我鉴定
2013/10/26 职场文书
客服主管岗位职责
2013/12/13 职场文书
财务会计实习报告体会
2013/12/20 职场文书
财务会计人员求职的自我评价
2014/01/13 职场文书
小区门卫管理制度
2014/01/29 职场文书
环境建设实施方案
2014/03/14 职场文书
银行会计主管岗位职责
2014/10/01 职场文书
停课通知书
2015/04/24 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS
python3实现无权最短路径的方法
2021/05/12 Python
Python中如何处理常见报错
2022/01/18 Python
Win10 最新稳定版本 21H2开始推送
2022/04/19 数码科技