# 1、什么是序列化 # 序列化指的是把内存的数据类型转成一个特定格式的内容 # 该格式的内容可用于存储或者传输给其它平台使用 # 内存中的数据类型---》序列化----》特定的格式(json or pickle格式) # 内存中的数据类型《---反序列化《----特定的格式(json or pickle格式) # 2、为何要序列化 # 序列化得到结果--》特定格式的内容有两种用途 # 1、可用于存储=》用于存档 # 推荐pickle # 2、传输给其它平台使用=》跨平台数据交互 #推荐json # 强调: # 针对于用途1的特定格式:可以是一种专用的格式=》pickle只有python可以识别 # 针对于用途2的特定格式:应该是一种通用的,能被所有语言识别的格式-》json # 3、如何序列化 # import json # # 示范1 # # 序列化 # res = json.dumps([1, 'aa', True, False]) # # print(res, type(res)) # # 反序列化 # l=json.loads(res) # 反解,读取json数据 # print(l,type(l)) # 示范2 # 写入到文件的快捷方法 # with open('test.json',mode='wt',encoding='utf-8') as f: # json.dump([1, 'aa', True, False],f) # 从json文件中读取的快捷方法 # with open('test.json',mode='rt',encoding='utf-8') as f: # l=json.load(f) # print(l,type(l)) # pickle和json的用法基本相同 # import pickle # a.txt= pickle.dump() # b=pickle.loads() # json验证:json 格式兼容的是所有语言通用的数据类型,不能识别某一语言的独有类型 # json.dumps({1,2,3,4,5}) # TypeError: Object of type set is not JSON serializable # json强调:一定要搞清楚json格式,不要和python混淆 # 比如json的true和python的True,json没有单引号 # json性能太差,有一个优化版ujson比原来的json要快 # import json # import ujson # ujson和json用法一样,但是比json更快 # # 猴子补丁,第一次import时来替换需要替换的功能 # json.dumps = ujson.dumps # json.loads = ujson.loads
标签:python,json,import,格式,序列化,pickle From: https://www.cnblogs.com/palx/p/17160429.html