编码 bytes 数据交换格式 rip dict 文件 介质 打开文件
- 1# ! /usr/bin / python3 2 import json 3 data = {'name': 'JieSen',
- 'height': 175,
- 'weight': '68KG'
- }
- 4#dumps到字符串5 json_str = json.dumps(data) 6 print('dumps到字符串: ', json_str, '类型: ', type(json_str)) 7#loads回来8 json_dict = json.loads(json_str) 9 print('loads回来: ', json_dict, '类型: ', type(json_dict))
- 1# ! /usr/bin / python3 2 import json 3 with open('data_json.txt', 'w + ', encoding = 'utf - 8') as f: 4 json.dump(data, f) 5 with open('data_json.txt', 'r') as f: 6 data_r = json.load(f) 7 print(data_r)
- 1# ! /use/bin / python3 2 import pickle 3 data = {'k1': 1,
- 'k2': 2
- }
- 4#以二进制方式打开一个文件并将数据dump保存到文件里面5 with open('pickle_data.txt', 'wb') as f: 6 pickle.dump(data, f) 7#以二进制读取方式打开文件并load加载8 with open('pickle_data.txt', 'rb') as f: 9 fb = pickle.load(f) 10 print(fb)
输出:
{'k1': 1, 'k2': 2}
如果处理的不是文件,可以使用 pickle.dumps 和 pickle.loads,例如:
- data = {'name': 'JieSen',
- 'height': 175,
- 'weight': '68KG'
- }#转换为一个字节流对象pickle_byte = pickle.dumps(data) print(pickle_byte, '格式:', type(pickle_byte))#从字节流中恢复对象pickle_dict = pickle.loads(pickle_byte) print(pickle_dict, '格式:', type(pickle_dict))
输出:
b'\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x06\x00\x00\x00JieSenq\x02X\x06\x00\x00\x00heightq\x03K\xafX\x06\x00\x00\x00weightq\x04X\x04\x00\x00\x0068KGq\x05u.' 格式:
{'name': 'JieSen', 'height': 175, 'weight': '68KG'} 格式:
总结:
1.pickle 序列化的是字节,而 json 序列化的是字符。
2.json.dump,json.load 和 pickle.dump,pickle.road 处理的都是文件。
days-json 和 pickle 序列化
来源: http://www.bubuko.com/infodetail-2220222.html