序列化模块

Posted contiune

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了序列化模块相关的知识,希望对你有一定的参考价值。

什么叫序列化——将原本的字典、列表等内容转换成一个字符串的过程就叫做序列化

技术分享图片 为什么要有序列化模块

序列化的目的

1、以某种存储形式使自定义对象持久化
2、将对象从一个地方传递到另一个地方。
3、使程序更具维护性。
技术分享图片

 

json

Json模块提供了四个功能:dumps、dump、loads、load

技术分享图片 loads和dumps
技术分享图片 load和dump
技术分享图片 ensure_ascii关键字参数
技术分享图片 其他参数说明
技术分享图片 json的格式化输出

pickle

 

json & pickle 模块

 

用于序列化的两个模块

 

  • json,用于字符串 和 python数据类型间进行转换
  • pickle,用于python特有的类型 和 python的数据类型间进行转换

 

pickle模块提供了四个功能:dumps、dump(序列化,存)、loads(反序列化,读)、load  (不仅可以序列化字典,列表...可以把python中任意的数据类型序列化

 

技术分享图片 pickle

 

这时候机智的你又要说了,既然pickle如此强大,为什么还要学json呢?
这里我们要说明一下,json是一种所有的语言都可以识别的数据结构。
如果我们将一个字典或者序列化成了一个json存在文件里,那么java代码或者js代码也可以拿来用。
但是如果我们用pickle进行序列化,其他语言就不能读懂这是什么了~
所以,如果你序列化的内容是列表或者字典,我们非常推荐你使用json模块
但如果出于某种原因你不得不序列化其他的数据类型,而未来你还会用python对这个数据进行反序列化的话,那么就可以使用pickle






以上是关于序列化模块的主要内容,如果未能解决你的问题,请参考以下文章

模块二之序列化模块以及collections模块

Python 解析模块 异常模块 响应模块 序列化和反序列化组件

内置模块——序列化模块:jsonpickleshelve

Python 入门之 内置模块 -- 序列化模块(json模块pickle模块)

python模块之序列化模块

day_24(序列化模块)