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 03 Python
Python标准库之itertools库的使用方法
Sep 07 Python
Python打印“菱形”星号代码方法
Feb 05 Python
Django rest framework实现分页的示例
May 24 Python
pycharm的console输入实现换行的方法
Jan 16 Python
Python定时任务工具之APScheduler使用方式
Jul 24 Python
python 矢量数据转栅格数据代码实例
Sep 30 Python
Django中文件上传和文件访问微项目的方法
Apr 27 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
Sep 18 Python
Flask处理Web表单的实现方法
Jan 31 Python
Python入门之基础语法详解
May 11 Python
Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)
Jun 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
PHP+SQL 注入攻击的技术实现以及预防办法
2011/01/27 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
详解PHP版本兼容之openssl调用参数
2018/07/25 PHP
Laravel 修改默认日志文件名称和位置的例子
2019/10/17 PHP
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
JavaScript 基本概念
2015/01/20 Javascript
JQuery中extend的用法实例分析
2015/02/08 Javascript
JavaScript中eval()函数用法详解
2015/12/14 Javascript
jQuery基本选择器(实例及表单域value的获取方法)
2016/05/20 Javascript
js鼠标跟随运动效果
2017/03/11 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
微信小程序仿RadioGroup改变样式的处理方案
2018/07/13 Javascript
vue集成百度UEditor富文本编辑器使用教程
2018/09/21 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
2018/12/03 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
OpenLayers加载缩放控件使用方法详解
2020/09/25 Javascript
python分治法求二维数组局部峰值方法
2018/04/03 Python
Python获取好友地区分布及好友性别分布情况代码详解
2019/07/10 Python
selenium中get_cookies()和add_cookie()的用法详解
2020/01/06 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
匡威帆布鞋美国官网:Converse美国
2016/08/22 全球购物
应届生.NET方向面试题
2015/05/23 面试题
物流管理专业大学生自荐信
2013/10/04 职场文书
社区工作者感言
2014/03/02 职场文书
企业安全生产承诺书
2014/05/22 职场文书
群众路线党员自我评议范文2014
2014/09/24 职场文书
个人先进材料范文
2014/12/30 职场文书
村干部任职承诺书
2015/01/21 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
Python Pandas pandas.read_sql函数实例用法
2021/06/21 Python