python中的序列化与反序列化
之前,在学习python时,一直弄不明白pickle和json模块的序列化和反序例化之间的区别和用法,最近闲来有时间,重新研究了这两个模块,也算是基本搞明白他们之中的区别了。
用于序列化的两个模块,
- json,用于字符串 和 python数据类型间进行转换
- pickle,用于python特有的类型 和 python的数据类型间进行转换
Json模块提供了四个功能:dumps、dump、loads、load
pickle模块提供了四个功能:dumps、dump、loads、load
看下面这个例子,或许你能明白他们之间的区别
import pickledata = ['aa', 'bb', 'cc'] # dumps 将数据通过特殊的形式转换为只有python语言认识的字符串 p_str = pickle.dumps(data) print(p_str) # loads 将pickle数据转换为python的数据结构 mes = pickle.loads(p_str) print(mes)# dump 将数据通过特殊的形式转换为只有python语言认识的字符串,并写入文件 with open('tmp.pw','wb') as f:pickle.dump(data,f)# load 从数据文件中读取数据,并转换为python的数据结构 with open('tmp.pw','rb') as f:print(pickle.load(f))
json和pickle模块中的dump和load操作其实就是对数据进行编码和解码的处理
- 编码:把一个Python对象编码转换成Json字符串 json.dumps()
- 解码:把Json格式字符串解码转换成Python对象 json.loads()
转载于:https://www.cnblogs.com/change1220/p/8484932.html
python中的序列化与反序列化相关推荐
- python中常用的序列化模块_Python中的序列化和反序列化
为什么要序列化 内存中的字典.列表.集合以及各种对象,如何保存到一个文件中. 设计一套协议,按照某种规则,把内存中的数据保存到文件中,文件是一个个字节序列.所以必须把数据额转换为字节序列,输出到文件, ...
- OWASP TOP 10(六)反序列化漏洞(序列化和反序列化、漏洞原理、PHP中的序列化和反序列化、魔术方法、Typecho_v1.0中的反序列化漏洞)
文章目录 反序列化漏洞 一.概述 1. 序列化和反序列化 2. 序列化的目的 二.PHP中的序列化与反序列化 1. 概述 2. 示例序列化与反序列化 3. 反序列化漏洞 - PHP中的魔术方法 - T ...
- python 二叉树的序列化和反序列化
python 二叉树的序列化和反序列化 一.leetcode 297 二.为什么要反序列化? 三.反序列化设计 四.序列化设计 五.leetcode 297题 一.leetcode 297 序列化是将 ...
- fileinputstream自定义类序列化和反序列化_Rest Assured篇:Java中的序列化和反序列化...
点击上方蓝字设为星标 每天傍晚伴你一起成长! Java 中的序列化和反序列化是一个重要的编程概念.它适用于所有主要的编程语言.在本章中,我们将尝试在Java语言的上下文中理解此概念.在本章的最后,我们 ...
- 谈谈:.Net中的序列化和反序列化
序列化和反序列化相信大家都经常听到,也都会用, 然而有些人可能不知道:.net为什么要有这个东西以及.net Frameword如何为我们实现这样的机制, 在这里我也是简单谈谈我对序列化和反序列化的一 ...
- .Net 中关于序列化和反序列化Json的方法
.Net SDK中关于序列化和反序列化Json的方法 项目中遇到和服务端交互时需要传递数据包为json格式的包,所以在服务端和SDK中都需要对json进行解析和组合的操作, 并且对一些复杂结构的jso ...
- js序列化与反序列化和C#中json序列化与反序列化
序列化:将Object转换成JSON字符串 let data = JSON.stringify(obj); // 将JSON对象转化为JSON字符 let data = obj.toJSONStrin ...
- JAVA中JSON序列化和反序列化
JAVA中JSON序列化和反序列化 1 FASTJSON的序列化和反序列化 1.1 主函数 1.2 自定义对象 2 GSON序列化和反序列化 2.1 主函数 2.2 自定义对象 总结 不同包序列化和反 ...
- php中的序列化与反序列化[喜悦原创]
php中的序列化与反序列化 1.serialize() <===> unserialize(),这个大家用的最多, 老熟人了 session保存默认用的就是这个. 如果想存储对象,数组数据 ...
最新文章
- iOS 9音频应用播放音频之音量设置与声道设置
- vmalloc 实现
- 未来的计算机作文 800字,未来科技作文800字
- 6年级下册计算机教案,六年级下册信息技术教案 (6).doc
- day14 Python函数
- Ubuntu gedit中文乱码-转
- asp.net 2.0中的defaultulr属性
- X86工控机虚拟显示器设置(nomachine远程桌面)
- leetcode题解持续更新
- 域名抢注代码_如何停止域名抢注攻击
- LightBox -灯箱效果插件(非常漂亮) Jquery灯箱效果
- 居民身份证号码每个数字代表什么
- 高斯滤波/高斯模糊(Gaussian blur)和高斯噪声(Gaussian noise)
- video.js+jquery.danmu.js实现视频播放+发送弹幕
- 标准C语言各种时间函数用法
- 华清远见上海中心22071班
- 踩坑日记:Parameter ‘XXX‘ not found. Available parameters are [param5, param6]解决一下午。。。。
- android listview替代,Android笔记——RecyclerView替代ListView
- 【XML和Java】手写Java程序引用xsd验证xml
- 用Python制作销售数据可视化看板,展示分析一步到位!
热门文章
- android 展示星期方式,Android显示从一周到另一周的日期(星期四至星期四)
- 小程序沉浸式_企业开发小程序:客户裂变式增长
- deepin下Clion连接mysql_CLion如何添加依赖库 ? 需要把mysql/Connector c++放入 用cpp连接数据库...
- 4pics1word android,4 Pics 1 Word
- lfu算法实现c语言_哈希查找算法(C语言实现)
- 数据结构--链式线性表
- python程序生成exe_使用Python程序生成QR代码的Python程序
- php curl form-data,在php curl multipart / form-data请求中发送一个文件和json数据
- 远控免杀专题(20)-GreatSCT免杀
- 【竞赛题解】Codeforces Round #715 (Div. 2) C