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

 更新时间:2017年08月20日 14:50:58   投稿:lqh  
这篇文章主要介绍了详解Python 序列化Serialize 和 反序列化Deserialize的相关资料,序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据,需要的朋友可以参考下

详解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)))

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

相关文章

  • Pytorch-LSTM输入输出参数方式

    Pytorch-LSTM输入输出参数方式

    这篇文章主要介绍了Pytorch-LSTM输入输出参数方式,具有很好的参考价值,希望对大家有所帮助。
    2022-07-07
  • Pandas 处理DataFrame中的inf值实现

    Pandas 处理DataFrame中的inf值实现

    Inf 表示正无穷大或负无穷大,通常是在数学计算中产生的结果,本文主要介绍了Pandas 处理DataFrame中的inf值实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04
  • 如何在Python中实现goto语句的方法

    如何在Python中实现goto语句的方法

    这篇文章主要介绍了如何在Python中实现goto语句的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • 详解如何使用python脚本制作生成CANdbc

    详解如何使用python脚本制作生成CANdbc

    这篇文章主要为大家详细介绍了如何使用python脚本制作生成CANdbc,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解下
    2024-01-01
  • Python爬虫实例——scrapy框架爬取拉勾网招聘信息

    Python爬虫实例——scrapy框架爬取拉勾网招聘信息

    这篇文章主要介绍了Python爬虫实例——scrapy框架爬取拉勾网招聘信息的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Python中使用正则表达式精准匹配IP地址的案例

    Python中使用正则表达式精准匹配IP地址的案例

    Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋友一起看看吧
    2025-04-04
  • Python + Tkinter连接本地MySQL数据库简单实现注册登录

    Python + Tkinter连接本地MySQL数据库简单实现注册登录

    这篇文章主要介绍了Python + Tkinter连接本地MySQL数据库简单实现注册登录。下面文章着情介绍,需要的小伙伴可以参考一下
    2022-01-01
  • keras 实现轻量级网络ShuffleNet教程

    keras 实现轻量级网络ShuffleNet教程

    这篇文章主要介绍了keras 实现轻量级网络ShuffleNet教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 利用Python制作一个动物识别小程序

    利用Python制作一个动物识别小程序

    动物识别是计算机视觉和模式识别领域的重要研究方向,它涉及通过图像或视频数据自动识别和分类不同种类的动物,随着数字图像技术和机器学习方法的快速发展,动物识别在实际应用中具有广泛的潜力,本文将给大家介绍如何基于Python制作一个动物识别小程序
    2023-10-10
  • opencv读取视频并保存图像的方法

    opencv读取视频并保存图像的方法

    实习项目要做安全帽目标检测,拿到了公司给的一些视频数据,使用Opencv读取视频并每隔1s存储一副图像,本文就详细的介绍一下使用,感兴趣的可以了解一下
    2021-06-06

最新评论