rb))()json 和 pickle 得区别json 转化得数据类型:str int list tuple dict
序列化是指把内存里的数据类型转酿成字符串,以使其能存储到硬盘或通过网络传输到长途,因为硬盘或网络传输时只能接受bytes.
json 模块 json.dump(d,f) json.load(f) #与文件得交互 dump(可多次,但不那样做) load(只可一次) 把数据类型转成字符串存到内存里得意义? json.dumps(data) json.loads(q) #与内存得交互 1.把内存数据 通过网络 共享给长途其他人 必需:bytes 2.界说了差别语言之间得交互法则 2.1 纯文本:坏处不能共享庞大得数据类型 18:32 424224 iphone 5000 2.2 xml 占得空间大 效率低 <data> <country> <year>2018</year> # year:2018 </country> </data> 2.3 json 简单 可读性好 data = { 'roles':[ {'role':'monster','type':'pig','life':50}, {'role':'hero','type':'关羽','life':80} ] } import json data = { 'roles':[ {'role':'monster','type':'pig','life':50}, {'role':'hero','type':'关羽','life':80} ] } s = json.dumps(data) print(s,type(s)) data = json.loads(s) print(data,type(data),data['roles']) json.dump(data,open('test.json','w',encoding='utf-8')) data = json.load(open('test.json','r',encoding='utf-8')) print(data['roles'],type(data)) pickle 模块 rb wb 和json得四个要领一样 写读 都是bytes形式的 可以将函数dump load都行 pickle.dumps(d) json.loads(d) pickle.dump(d,pk) pickle.load(pk) import pickle data = { 'roles':[ {'role':'monster','type':'pig','life':50}, {'role':'hero','type':'关羽','life':80} ] } def sayhi(): print('sayhi') s = pickle.dumps(data) print(s,type(s)) data = pickle.loads(s) print(data,type(data),data['roles']) pickle.dump(data,open('test.json','wb')) data = pickle.load(open('test.json','rb')) print(data,type(data)) s = pickle.dumps(sayhi) print(s) data = pickle.loads(s) data() pickle.dump(sayhi,open('test1.json','wb')) pickle.load(open('test1.json','rb'))() json 和 pickle 得区别 json 转化得数据类型:str int list tuple dict 不撑持set pickle 撑持python里得所有数据类型 确定是 只能在python里使用 函数都可以序列化 shelve 模块pickle封装了shelve 只能在python顶用
序列化: import shelve f = shelve.open('shelve_test') # 打开一个文件 names = ["alex", "rain", "test"] info = {'name':'alex','age':22} f["names"] = names # 长期化列表 f['info_dic'] = info f.close() 反序列化: import shelve d = shelve.open('shelve_test') # 打开一个文件 print(d['names']) print(d['info_dic']) #del d['test'] #还可增加 删除 可整体从头赋值 xml 模块感化:
差别语言之间内存数据得交换
内存得数据可转换成xml存到硬盘上
模块 序列化 json pickle shelv xml
,温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32640.html