详解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 17 Python
Python切换pip安装源的方法详解
Nov 18 Python
Python实现打印螺旋矩阵功能的方法
Nov 21 Python
python实现基于SVM手写数字识别功能
May 27 Python
在cmder下安装ipython以及环境的搭建
Oct 19 Python
Python判断telnet通不通的实例
Jan 26 Python
对python文件读写的缓冲行为详解
Feb 13 Python
Python读取excel文件中带公式的值的实现
Apr 17 Python
python能做哪方面的工作
Jun 15 Python
python接入支付宝的实例操作
Jul 20 Python
python实现暗通道去雾算法的示例
Sep 27 Python
Python判断变量是否是None写法代码实例
Oct 09 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
php访问查询mysql数据的三种方法
2006/10/09 PHP
PHP 组件化编程技巧
2009/06/06 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
PHP获取当前日期和时间及格式化方法参数
2015/05/11 PHP
WordPress中制作导航菜单的PHP核心方法讲解
2015/12/11 PHP
PHP导出带样式的Excel示例代码
2016/08/28 PHP
PHP实现随机数字、字母的验证码功能
2018/08/01 PHP
动态加载script文件的两种方法
2013/08/15 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
javascript中slice(),splice(),split(),substring(),substr()使用方法
2015/03/13 Javascript
nodejs实现获取当前url地址及url各种参数值
2015/06/25 NodeJs
BootStrap 动态添加验证项和取消验证项的实现方法
2016/09/28 Javascript
利用JavaScript对中文(汉字)进行排序实例详解
2017/06/18 Javascript
vue组件父子间通信详解(三)
2017/11/07 Javascript
前后端如何实现登录token拦截校验详解
2018/09/03 Javascript
vue路由中前进后退的一些事儿
2019/05/18 Javascript
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
Python向日志输出中添加上下文信息
2017/05/24 Python
详解 Python 读写XML文件的实例
2017/08/02 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
Python 的字典(Dict)是如何存储的
2019/07/05 Python
什么是python的id函数
2020/06/11 Python
Python字符串及文本模式方法详解
2020/09/10 Python
经济信息管理专业大学生求职信
2013/09/27 职场文书
2014年会演讲稿范文
2014/01/06 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
环境科学专业求职信
2014/08/04 职场文书
销售代理协议书
2014/09/30 职场文书
劳动纠纷调解协议书格式
2014/11/30 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
2016年度继续教育学习心得体会
2016/01/19 职场文书
委托开发合同书(标准版)
2019/08/07 职场文书