详解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运行效率
Jun 09 Python
Python使用爬虫爬取静态网页图片的方法详解
Jun 05 Python
3分钟学会一个Python小技巧
Nov 23 Python
Python实现个人微信号自动监控告警的示例
Jul 03 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
Aug 05 Python
python将数组n等分的实例
Dec 02 Python
python文件绝对路径写法介绍(windows)
Dec 25 Python
代码总结Python2 和 Python3 字符串的区别
Jan 28 Python
深入了解NumPy 高级索引
Jul 24 Python
学python爬虫能做什么
Jul 29 Python
python 实用工具状态机transitions
Nov 21 Python
python绘制高斯曲线
Feb 19 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中相同前缀的数据表的代码
2011/07/01 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
php 使用array函数实现分页
2015/02/13 PHP
ajax调用返回php接口返回json数据的方法(必看篇)
2017/05/05 PHP
PHP使用XMLWriter读写xml文件操作详解
2018/07/31 PHP
Extjs Ext.MessageBox.confirm 确认对话框详解
2010/04/02 Javascript
可自己添加html的伪弹出框实现代码
2013/09/08 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
jquery动态加载js/css文件方法(自写小函数)
2014/10/11 Javascript
简化版手机端照片预览组件
2015/04/13 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
js实现密码强度检测【附示例】
2016/03/30 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
详解HTTPS 的原理和 NodeJS 的实现
2017/07/04 NodeJs
javascript编程开发中取色器及封装$函数用法示例
2017/08/09 Javascript
JQuery扩展对象方法操作示例
2018/08/21 jQuery
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
node将geojson转shp返回给前端的实现方法
2019/05/29 Javascript
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
2020/03/04 Javascript
react antd表格中渲染一张或多张图片的实例
2020/10/28 Javascript
JavaScript实现点击切换验证码及校验
2021/01/10 Javascript
Python文件操作类操作实例详解
2014/07/11 Python
Python的Flask框架中web表单的教程
2015/04/20 Python
python等待10秒执行下一命令的方法
2020/07/19 Python
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
Mavi牛仔裤美国官网:土耳其著名牛仔品牌
2016/09/24 全球购物
酒店保安员岗位职责
2014/01/31 职场文书
一年级小学生评语
2014/04/22 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
党员个人剖析材料2014
2014/10/08 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
食品卫生管理制度
2015/08/06 职场文书
外出培训学习心得体会
2016/01/18 职场文书