序列化
序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传输到远程,因为硬盘或网络传输时只能接受bytes
用于序列化的两个模块
- json,用于字符串,和python数据类型间进行转换
- pickle,用于python特有的类型和python的数据类型间的转换
Json模块提供了四个功能:dumps、dump、loads、load
pickle模块提供了四个功能:dumps、dump、loads、load
# 将数据通过特殊的形式转换为只有python语言认识的字符串 pickle.dumps(data) # 将数据通过特殊的形式转换为只有python语言认识的字符串,并写入文件 with open('file','w') as fp pickle.dump(data,fp)
json vs pickle:
JSON:
优点:跨语言、体积小
缺点:只能支持intstrlist upledict
Pickle:
优点:专为python设计,支持python所有的数据类型
缺点:只能在python中使用,存储数据占空间大