详解Python 序列化Serialize 和 反序列化Deserialize


Posted in Python onAugust 20, 2017

详解Python 序列化Serialize 和 反序列化Deserialize

序列化 (serialization)

序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,

它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。

序列化和反序列化的目的

1、以某种存储形式使自定义对象持久化;

2、将对象从一个地方传递到另一个地方。

3、使程序更具维护性

序列化

  由于存在于内存中的对象都是暂时的,无法长期驻存,为了把对象的状态保持下来,这时需要把对象写入到磁盘或者其他介质中,这个过程就叫做序列化。

反序列化

  反序列化恰恰是序列化的反向操作,也就是说,把已存在在磁盘或者其他介质中的对象,反序列化(读取)到内存中,以便后续操作,而这个过程就叫做反序列化。

  概括性来说序列化是指将对象实例的状态存储到存储媒体(磁盘或者其他介质)的过程。在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。

Python中可以使用 Pickle 和 json, 以及自定义序列化反序列化函数进行处理需要序列化的数据。

代码如下:

import pickle
import json
d = [1,2,3,4]
print(pickle.dumps(d))
print(type(pickle.dumps(d)))

print(json.dumps(d))
print(type(json.dumps(d)))

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持,如有疑问请留言或者到本站社区交流讨论,大家共同进步!

Python 相关文章推荐
python中的一些类型转换函数小结
Feb 10 Python
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
Dec 14 Python
利用Python检测URL状态
Jul 31 Python
Python OpenCV实现鼠标画框效果
Aug 19 Python
Python迭代器iterator生成器generator使用解析
Oct 24 Python
python将三维数组展开成二维数组的实现
Nov 30 Python
Python实现病毒仿真器的方法示例(附demo)
Feb 19 Python
在python中实现求输出1-3+5-7+9-......101的和
Apr 02 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
Jun 28 Python
Python+Opencv实现把图片、视频互转的示例
Dec 17 Python
Python Socket编程详解
Apr 25 Python
Python图片处理之图片裁剪教程
May 27 Python
Python中input与raw_input 之间的比较
Aug 20 #Python
Python 基础教程之str和repr的详解
Aug 20 #Python
Python实现爬取需要登录的网站完整示例
Aug 19 #Python
Python获取当前页面内所有链接的四种方法对比分析
Aug 19 #Python
Python基于numpy灵活定义神经网络结构的方法
Aug 19 #Python
Python正则捕获操作示例
Aug 19 #Python
python 删除大文件中的某一行(最有效率的方法)
Aug 19 #Python
You might like
三国漫画《火凤燎原》宣布动画化PV放出 预计2020年播出
2020/03/08 国漫
PHP 输出缓存详解
2009/06/20 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
设置下载不需要倒计时cookie(倒计时代码)
2008/11/19 Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
2013/06/06 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
2013/12/17 Javascript
招聘网站基于jQuery实现自动刷新简历
2015/05/10 Javascript
针对初学者的jQuery入门指南
2015/08/15 Javascript
js简单倒计时实现代码
2016/04/30 Javascript
BooStrap对导航条的改造实践小结
2016/09/21 Javascript
微信小程序 textarea 组件详解及简单实例
2017/01/10 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
微信小程序基于picker实现级联菜单
2019/02/15 Javascript
JavaScript中callee和caller的区别与用法实例分析
2019/06/28 Javascript
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
用Python实现服务器中只重载被修改的进程的方法
2015/04/30 Python
Python实现简单的文本相似度分析操作详解
2018/06/16 Python
Python3中关于cookie的创建与保存
2018/10/21 Python
python 实现矩阵上下/左右翻转,转置的示例
2019/01/23 Python
详解如何从TensorFlow的mnist数据集导出手写体数字图片
2019/08/05 Python
python2使用bs4爬取腾讯社招过程解析
2019/08/14 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
python 使用递归回溯完美解决八皇后的问题
2020/02/26 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
2020/04/22 Python
高考考python编程是真的吗
2020/07/20 Python
python爬虫---requests库的用法详解
2020/09/28 Python
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
美术国培研修感言
2014/02/12 职场文书
小学生评语大全
2014/04/18 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
软弱涣散基层党组织整改方案
2014/10/25 职场文书
2014年实习生工作总结
2014/11/27 职场文书
运动员入场词
2015/07/18 职场文书
2015年主婚人婚礼致辞
2015/07/28 职场文书
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers