json&pickle 序列化

把内存数据转换字符叫序列化
把字符转成内存数据类型反序列化

json,用于字符串 和 python数据类型间进行转换
dumps 和loads 匹配使用
dumps 只能转成字符串,loads只能从字符串转换成数据类型。只能保存在内存里。

import json date = { roles:[ {role: monster, type: pig, HP: 50}, {role: hero, type: 关羽, HP: 80} ] } l = {a:1, b:2} d = json.dumps(date) d2 = json.loads(d)

dump 转成字符串并写入文件, load,读文件并转成数据类型

import json date = { roles:[ {role: monster, type: pig, HP: 50}, {role: hero, type: 关羽, HP: 80} ] } l = {a:1, b:2} with open(json.file, r+, encoding=UTF-8) as f: json.dump(date, f) #写入文件 json.dump(l,f) #写入文件 date = json.load(f) #读取文件

 

json.dumps

json.loads
1.把内存数据通过网络远程给其他人
2定义不同语言之前的交互规则,跨平台
  1.纯文本,坏处:不能共享复杂的数据类型
  2.xml坏处:占空间大
  3.json,简单,可读性好
  load 只能一次

pickle,用于python特有的类型 和 python的数据类型间进行转换
pickle.dumps pickle.loads 匹配使用

import pickled = {name: zheng, age: 23}l = [1,2,3,4,rain]a = pickle.dumps(d)b = pickle.dumps(l)pickle.loads(a)pickle.loads(b)

pickle.dump pickle.load   匹配使用

 

l = [1,2,3,4,5]f = open(pick.pkl, wb)pickle.dump(l,f)f = open(pick.pkl, rb)pickle.load(f)

 

相关文章