一,序列化

  在我们存储数据或者网络传输数据的时候,需要对我们的对象进行处理,把对象处理成方便存储和传输的数据结构,这个过程叫序列化,不同的序列化,结果也不同,但是目的是一样的,都是为了存储和传输。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  在python中存在三种序列化的方案。

  1,pickle,可以将我们python中的任意数据类型转化成bytes并写入到文件中,同样也可以把文件中写好的bytes转换回我们python的数据,这个过程称为反序列化。

  2,shelve,简单另类的一种序列化的方案,有点类似Redis,可以作为一种小型数据库来使用

  3,json,将python中常见的字典,列表转化成字符串,是目前前后端数据交互使用频率最高的一种数据格式。

二,pickle(重点)

  pickle就是把我们的python对象写入到文件中的一种解决方案。首先要引用pickle模块,主要是使用pickle.dumps()把对象转换成bytes;pickle.loads()把bytes转换成对象;

  序列化(pickle,shelve,json,configparser) Python 第1张

  pickle.dump()把对象转换成bytes,然后写入文件中;pickle.load()从文件中读出,然后把bytes转换成对象。

  序列化(pickle,shelve,json,configparser) Python 第2张

  多个对象写入和读

  序列化(pickle,shelve,json,configparser) Python 第3张

  序列化(pickle,shelve,json,configparser) Python 第4张

三,shelve

  shelve提供python的持久化操作,就是把数据写到硬盘上,在操作shelve的时候非常像操作一个字典。

  序列化(pickle,shelve,json,configparser) Python 第5张

  但是有个坑,在对内层的数据进行修改时,或者删除字典中的元素时,要用到writeback参数,不然操作后结果不会改变。

  序列化(pickle,shelve,json,configparser) Python 第6张

  得到后的字典,可以完成字典所有操作,比如遍历,setdefault()

  序列化(pickle,shelve,json,configparser) Python 第7张

  序列化(pickle,shelve,json,configparser) Python 第8张

四,json(重点)

  json就是前后端交互的枢纽,导入json模块,所使用的方法和pickle一样的。json.dumps()把字典转化成json字符串,json.loads()是把json字符串转化成字典。

  序列化(pickle,shelve,json,configparser) Python 第9张

  序列化(pickle,shelve,json,configparser) Python 第10张

  json.dump()把字典转化成json字符串,然后写入文件中;json.load()把json字符串从文件中读出来,然后转换成字典。

  序列化(pickle,shelve,json,configparser) Python 第11张

  序列化(pickle,shelve,json,configparser) Python 第12张

  对于多个字典的写入或者读,要采用以下办法。

  序列化(pickle,shelve,json,configparser) Python 第13张

  用json来处理对象

  序列化(pickle,shelve,json,configparser) Python 第14张

五,configparser模块

  序列化(pickle,shelve,json,configparser) Python 第15张

  序列化(pickle,shelve,json,configparser) Python 第16张

  序列化(pickle,shelve,json,configparser) Python 第17张

  序列化(pickle,shelve,json,configparser) Python 第18张

  序列化(pickle,shelve,json,configparser) Python 第19张

  序列化(pickle,shelve,json,configparser) Python 第20张

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄