把内存数据,转成字符,叫序列化
把字符转成内存数据叫反序列化
内存数据存到硬盘时需要转成字符
json.dumps() 变成字符串
a={"d":23}
f = open('a.txt','w')
json.dump(a,f)
pk = open('a.pkl','wb') #注意是wb
pickle.dump(a,pk)
一.json.dumps()的作用
1.把内存数据通过网络共享给其他人
2.用python语言发送,java语言接收,即不同语言交互
2.1使用纯文本,不能共享复杂的数据类型
2.2xml,占空间大
2.3json,简单,可读性好
二.json 只支持str,list,dict,tuple,int复杂一些的数据类型不支持
pickle 支持python里所有的数据类型,只能在python中使用
两个都不能dump多次
三 shelve对pickle进行封装(只适用于python)
shelve只能对最外层的值进行修改
网友评论