序列化和反序列化 笔记----python

一.概念

序列化:将数据从内存持久化保存到硬盘的过程

反序列化:将数据从硬盘加载到内存的过程

二.json

1.json模块

*将对象转换成字符串。但并不是所有对象都可以转换成字符串

*可以在不同平台之间传递数据

python对象与json字符串的关系

注:1.若一个自定义对象,默认无法转换成json字符串,则 需要手动指定JSONEncoder。
2.将一个json串重新转成对象,这个对象里的方法就无法使用了。

3.若是在类型之外,则会报错。

2.导入json模块

语法:import json

3.json里将数据持久的两种方法:

dumps:将数据转换成为json字符串,不会将数据保存到文件

demp:将数据转换成json字符串的同时写入文件

json.dump(数据内容,文件名B)#这里的数据内容可以是任意类型(将该数据内容转换成json字符串,并且写入文件B中)

4.json反序列化的两种方法:

loads:将json字符串加载成为python里的数据

load:读取文件,把读取的内容加载成为python里的数据

变量C=json.load(open(文件名,'w'))#可以将文件中的json字符串转成字符串原类型

三.pickle模块

1.概念

将python里任意的对象转换成二进制。

原封不动的保存。

2.序列化和反序列化

序列化: dump和dumps

反序列化:load和loads

c=pickle.load(open(文件名,'rb'))

与json使用方式相似

3.与json的区别

      pivkle用来将数据原封不动的转换成二进制。都是这个二进制只能在python中识别

      json只能保存不能星系,作用是用来在不同的平台里传递数据。json里存储的数据都是基本的数据类型。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 看过《英伦对决》,原本很期待一个为女儿报仇的戏,结果父女情却只是个引子,就像淘宝的买家秀和卖家秀,难免会有误差,究...
    另半张碟阅读 230评论 0 0
  • 自然界中找不到叫做“数”的东西,数是人脑基于对世界的观察臆想出来的,人类创造出数并发展成数学,其动...
    胡天归雁阅读 2,099评论 0 0
  • 当我与自己和解 所有的疼痛都化为甘甜 所有的人都来助我 所有的执念都放下 我更加轻盈 喜悦 幸福 每日静坐中的感恩...
    Lisa菇凉阅读 390评论 0 0
  • 儿子,看到你突然改了网名,真有点奇怪呢,很想采访一下你,是什么原因让你取了这么一个大气磅礴的名字?我仿佛...
    赤色风铃66阅读 172评论 0 0