序列化与反序列化

Python 2018-12-13 1156

序列化:数据类型转为字符串
反序列化:字符串转为数据类型
1.json

import json  
# json dumps序列化  
# json loads反序列化  
# 数字,字符串,列表,字典,[元组-->转为列表]  
dic = {"a": "b"}  
print(type(dic))  
str_dic = json.dumps(dic)  
print(type(str_dic), str_dic)  
json_dic = json.loads(str_dic)  
print(type(json_dic), json_dic)  

结果:
{"a": "b"}
{'a': 'b'}

# json dump load  
# 文件操作  
# 将字典转为字符串保存到文件中  
dic = {1:"中国",2:"b"}  
f = open("wi", 'w', encoding='utf-8')  
json.dump(dic, f, ensure_ascii=False)  
f.close()  
# 读取文件,反序列化文件内容  
f = open('wi',encoding='utf-8')  
res = json.load(f)  
print(type(res), res)  
f.close()  

结果:
{'1': '中国', '2': 'b'}

2.pickle 

import pickle

# 任何类型都可序列化与反序列化  
dic = {"k1":'v1', "k2":'v2'}  
str_dic = pickle.dumps(dic)  
print(str_dic)  

dic2 = pickle.loads(str_dic)  
print(dic2)  

结果:
b'\x80\x03}q\x00(X\x02\x00\x00\x00k1q\x01X\x02\x00\x00\x00v1q\x02X\x02\x00\x00\x00k2q\x03X\x02\x00\x00\x00v2q\x04u.'

标签:Python
上一篇 常见算法
下一篇 scrapy笔记

文章评论

评论列表

已有0条评论