一、json序列化模块
1、序列化:将内存数据转成字符串加以保存。
2、反序列化:将字符串转成内存数据加以读取。
:{ :{ :, } } } 只是把数据类型转成字符串存到内存(json.dumps,json.loads)里的意义? 1、把你的内存数据通过网络远程共享给其他人 2、定义了不同语言之间的交互规则 <1> 纯文本:不能共享复杂的数据类型 <2> xml:占空间大 <3> json:简单,可读性好 ‘‘‘ d = json.dumps(data) (d,type(d)) # {"\u5317\u4eac": {"\u4e94\u9053\u53e3": {"sohu": "\u5f15\u64ce"}}} d_1 = json.loads(d) (d_1,type(d_1)) f = open(,) # 先打开再读写 d2 = json.dump(data,f) # 转成字符串并写入文件 f1 = open(,) d_2 = json.load(f1) (d_2) # {‘北京‘: {‘五道口‘: {‘sohu‘: ‘引擎‘}}}
二、pickle序列化模块
#!/usr/bin/env python3 #-*- coding:utf-8 -*- # write by congcong import pickle dict = {:,:21} len = [,,] # dumps <--> loads d = pickle.dumps(dict) (d) # b‘\x80\x03}q\x00(X\x04\x00\x00\x00nameq\x01X\x02\x00\x00\x00ccq\x02X\x03\x00\x00\x00ageq\x03K\x15u.‘ d_1 = pickle.loads(d) # bytes类型转为原数据类型 # # pk = open(‘data.pkl‘,‘wb‘) # d2 = pickle.dump(dict,pk) # 字符串转成bytes类型,并保存到硬盘 pk_r = open(,) # 将硬盘里的bytes类型转为原数据类型 d_2 = pickle.load(pk_r) json 和 pickle 的区别: json 支持的数据类型 str ,int ,tuple , list , dict ,可跨语言 pickle 支持python里所有的数据类型,但只能在python中使用 ‘‘‘