详解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中MethodType方法介绍与使用示例
Aug 03 Python
python实现批量按比例缩放图片效果
Mar 30 Python
pandas带有重复索引操作方法
Jun 08 Python
python调用自定义函数的实例操作
Jun 26 Python
详细介绍Python进度条tqdm的使用
Jul 31 Python
解决Atom安装Hydrogen无法运行python3的问题
Aug 28 Python
Python调用scp向服务器上传文件示例
Dec 22 Python
python求一个字符串的所有排列的实现方法
Feb 04 Python
python全栈开发语法总结
Nov 22 Python
python邮件中附加文字、html、图片、附件实现方法
Jan 04 Python
Python趣味爬虫之用Python实现智慧校园一键评教
May 28 Python
Python内置类型集合set和frozenset的使用详解
Apr 26 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+ajax实时输入自动搜索匹配的方法
2014/12/26 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
Yii2增删改查之查询 where参数详细介绍
2016/08/08 PHP
php实现的顺序线性表示例
2019/05/04 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
无语,javascript居然支持中文(unicode)编程!
2007/04/12 Javascript
js更优雅的兼容
2010/08/12 Javascript
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
原生js和jQuery写的网页选项卡特效对比
2015/04/27 Javascript
JavaScript面对国际化编程时的一些建议
2015/06/24 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
JS实现的tab切换选项卡效果示例
2017/02/28 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
vue中上传视频或图片或图片和文字一起到后端的解决方法
2019/12/01 Javascript
js数据类型转换与流程控制操作实例分析
2019/12/18 Javascript
解决echarts数据二次渲染不成功的问题
2020/07/20 Javascript
Angular进行简单单元测试的实现方法实例
2020/08/16 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
Vue SPA 首屏优化方案
2021/02/26 Vue.js
python如何通过protobuf实现rpc
2016/03/06 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
Python操作MySQL数据库的方法
2018/06/20 Python
浅谈python多进程共享变量Value的使用tips
2019/07/16 Python
python+openCV调用摄像头拍摄和处理图片的实现
2019/08/06 Python
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
俄罗斯在线大型超市:ТутПросто
2021/01/08 全球购物
学生思想表现的评语
2014/01/30 职场文书
超市中秋节促销方案
2014/03/21 职场文书
公证委托书格式
2014/09/13 职场文书
读《儒林外史》有感:少一些功利,多一些真诚
2020/01/19 职场文书
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS