参考:http://www.cnblogs.com/alan-babyblog/p/5209717.html
用于序列化的两个模块
Json模块提供了四个功能:dumps、dump(序列化,存)、loads(反序列化,读)、load
pickle模块提供了四个功能:dumps、dump(序列化,存)、loads(反序列化,读)、load (不仅可以序列化字典,列表...还可以把一个程序,一个类给序列化掉)
python的具体实现的例子
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 import json, pickle 5 6 data = {‘k1‘:123, ‘k2‘:‘hello‘} 7 8 ## json 9 # json.dumps 将数据通过特殊的形式转换为所有程序都识别的字符串 10 j_str = json.dumps(data) 11 print(j_str) #{"k2": "hello", "k1": 123} 12 13 # json.loads 读取json.dumps特殊处理后的数据并返回该对象 14 j_str_loads = json.loads(j_str) 15 print(j_str_loads) #{‘k2‘: ‘hello‘, ‘k1‘: 123} 16 17 # json.dump 将数据通过特殊的形式转换为所有程序都识别的字符串,并写入文件 18 with open(‘file.json‘, ‘w‘) as fp: 19 json.dump(data, fp) 20 21 with open(‘file.json‘, ‘r‘) as fp: 22 data_j_load = json.load(fp) 23 print(data_j_load) #{‘k2‘: ‘hello‘, ‘k1‘: 123} 24 25 26 ## pickle 27 # pickle.dumps将数据通过特殊的形式转换成只有python语言能识别的字符串 28 p_str = pickle.dumps(data) 29 print(p_str) #b‘\x80\x03}q\x00(X\x02\x00\x00\x00k2q\x01X\x05\x00\x00\x00helloq\x02X\x02\x00\x00\x00k1q\x03K{u.‘ 30 31 # pickle.loads 读取pickle.dumps特殊处理后的数据并返回该对象 32 p_loads = pickle.loads(p_str) 33 print(p_loads) #{‘k2‘: ‘hello‘, ‘k1‘: 123} 34 35 # pickle.dump将数据通过特殊的形式转换成只有python语言识别的字符串,并写入文件 36 with open(‘file.pickle‘, ‘wb‘) as fp: 37 pickle.dump(data, fp) 38 39 # pickle.loads 从文件中读取pickle.dumps特殊处理后的数据并返回该对象 40 with open(‘file.pickle‘, ‘rb‘) as fp: 41 data_p_load = pickle.load(fp) 42 print(data_p_load) #{‘k2‘: ‘hello‘, ‘k1‘: 123}
原文:http://www.cnblogs.com/qing-add/p/5225048.html