序列化

Day26 序列化与反序列化免费看

什么是序列化,什么是反序列化?pickle模块、Json模块、msgpack模块

2020-08-16侠课岛    基础入门       

后端/后端/Python 由浅入深入门 18     0     954

总结

1.什么是序列化与反序列化?

  • 序列化:将内存中的数据转换为字节序列保存到文件;

  • 反序列化:将字节序列的文件中的内容恢复到内存中;

2.pickle模块

(1)如何序列化写入文件:

  • 导入pickle模块;

  • 初始化数据结构;

  • 通过with open上下文管理器的方式打开文件(文件操作模式为只写二进制模式);

  • 然后使用pickle模块中的dump方法对数据结构序列化,并且将之写入文件;

(2)读取文件序列化内容

  • 通过with open上下文管理器的方式打开文件(文件操作模式为只读二进制模式);

  • 使用pickle模块的load方法将文件内序列化好的对象加载到内存中,将之还原;

(3)序列化Python对象

  • dumps方法:直接序列化Python对象,对象序列化后以 bytes 对象返回,不写入文件;

  • loads方法:直接把序列化好对象进行还原,并返回其重组后的对象;

(4)序列化函数还原

  • 将序列化的函数写入文件,到另外一个模块中运行, 必须先在当前这模块声明这个函数;

  • 因为序列化还原只会还原函数名,函数对象的语句块不会序列化;

3.Json模块

  • JSON是一种轻量级的数据交换格式;

  • 使用 JSON 函数需要导入 json 模块;

  • json.dumps:用于将 Python 对象编码成 JSON 字符串;

  • json.loads:用于将已编码的 JSON 字符串解码为 Python 对象,该函数返回 Python 字段的数据类型;

4.msgpack模块

  • 是一个基于二进制高效的对象化序列类库,可用于跨语言通信;

  • 首先需要在项目中安装msgpack模块:Pip install msgpack-python,然后再导入使用;

  • packb:将对象序列化成一个二进制对象;

  • unpackb:将对象还原;

本教程图文或视频等内容版权归侠课岛所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、转贴或以其他方式复制发布或发表。

评价

18

本课评分:
  •     非常好
难易程度:
  •     适中的

内容目录



|
教程
粉丝
主页

签到有礼

已签到2天,连续签到7天即可领取7天全站VIP

  • 1
    +2 金币
  • 2
    +3 金币
  • 3
    +5 金币
  • 6
    +7 金币
  • 5
    +6 金币
  • 4
    暖心福利
    自选分类VIP ×1天
  • 7
    惊喜大礼

    自选分类VIP ×3天 +20金币
  • 持续签到 +8 金币

金币可以用来做什么?