序列化
初识序列化与反序列化
对象信息或数据结构信息通过转换达到存储或者传输的效果
- 可以用比特的编码与解码进行联想
可序列化的数据类型
number
str
list
tuple
dict # 最常用的
Python中的json模块
| 方法名 | 参数 | 介绍 | 举例 | 返回值 |
dumps | obj | 对象序列化 | json.dumps([1,2]) | 字符串 |
loads | str | 返序列化 | Json.loads('[1,2,3]') | 原始数据类型 |
Python中的pickle
| 方法名 | 参数 | 介绍 | 举例 | 返回值 |
dumps | obj | 对象序列化 | pickle.dumps([1,2]) | 比特 |
loads | byte | 返序列化 | pickle.loads('[1, 2, 3]') | 原始数据类型 |
代码
import json
def read(path):
with open(path, 'r') as f:
data = f.read()
return json.loads(data)
def write(path, data):
with open(path, 'w') as f:
if isinstance(data, dict):
_data = json.dumps(data)
f.write(_data)
else:
raise TypeError('data is dict')
return True
data = {'name': '小慕', 'age': 18, 'top': 176}
if __name__ == '__main__':
result = read('test.json')
result['sex'] = 'boy'
write('test.json', result)