序列化模块
序列化
把其他类型的数据类型 转换成 字符串和bytes类型 就是序列化的过程
json模块
json是所有语言都通用序列化格式,,json在Pytho上序列化了,在其他语言也可以反序列化
能够处理的数据类型非常有限 : 字符串,列表,字典,数字
其中,数字会强制转换成字符串,字典的key只能是字符串
dumps loads
在内存中做数据转换 :
dumps 数据类型 转成 字符串 序列化
loads 字符串 转成 数据类型 反序列化
向文件中记录字典
dic={'liu':123,'amber':456}
import json
with open('haha',mode='a',encoding='utf-8')as f:
s=json.dumps(dic)
f.write(s)
从文件中读取字典
with open('haha',mode='r',encoding='utf-8')as f:
s=f.read()
dic=json.loads(s)
print(dic)
dump load
直接将数据类型写入文件,直接从文件中读出数据类型
dump 数据类型 写入 文件 序列化
load 文件 读出 数据类型 反序列化
向文件中记录字典
dic={'liu':123,'amber':456}
with open('haha',mode='w',encoding='utf-8')as f:
json.dump(dic,f)
从文件中读取字典
with open('haha',mode='r',encoding='utf-8')as f:
dic=json.load(f)
print(dic)
pickle模块
支持Python中几乎所有的数据类型,只能在Python中使用
序列化的结果只能是字节,在和文件操作的时候需要wb和rb模式打开
可以多次dump和多次load
方法同json
dumps/loads 字符串<--->其他数据类型
dump/load 文件 <--->数据类型

浙公网安备 33010602011771号