序列化模块
在讲序列化模块之前,先来看序列化的概念:
我们在进行文件存储时 用的都是str字符串,但是在网络上传输时都是采用bytes类型;
序列化: 数据类型---》字符串类型
反序列化: 字符串类型----》数据类型
1. json
优点:通用的序列化格式;
缺点:只有少部分数据类型可以转化为字符串类型;
有时候别人可能需要使用我们写的代码中的数据,我们也有可能使用别人代码中的数据,或者我写了一段python代码,有数据要传给另一个用c++写的人,这其中数据传输都需要使用json模块
2. pickle
优点: python中所有的数据类型都可以借助pickle序列化模块转化为字符串类型;
缺点: pickle序列化之后的内容只能由python理解;
反序列化必须依靠python代码;
3. shelve
优点:操作简单,直接使用序列化句柄直接操作;