首页 > Web开发 > 详细

json&pickle 序列化

时间:2018-12-07 22:49:48      阅读:193      评论:0      收藏:0      [点我收藏+]

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

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 pickle
d = {‘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)

 

json&pickle 序列化

原文:https://www.cnblogs.com/zhengyiqun1992/p/10083903.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!