1 import json, pickle 2 #json 序列化与反序列化 3 list1 = [1, 2, 3] 4 #正常情况下文件只能写入二进制或者字符串,需要将其他类型数据写入文件需要将其序列化;json序列化的结果为字符串;json的结果可以跨语言使用 5 with open("json.txt", "w", encoding="utf-8") as f: 6 f.write(json.dumps(list1)) 7 #序列化以后的文件想读取其中内容需要反序列化 8 with open("json.txt", "r", encoding="utf-8") as f: 9 json_res = json.loads(f.read()) 10 print(type(json_res), json_res) 11 #pickle序列化与反序列化。 json只能将列表 字典等标准对象进行序列化,类似下面函数进行序列化json就会报错;此时就需要使用pickle进行序列化和反序列化,pickle序列化的结果为二进制,pickle语法只能在python语言使用 12 def hello(): 13 print("hello world") 14 dict1 = {"func":hello} 15 with open("pickle.txt", "wb") as f: 16 f.write(pickle.dumps(dict1)) #等价于pickle.dump(dict1, f) 17 with open("pickle.txt", "rb") as f: 18 pickle_res = pickle.loads(f.read()) #等价于pickle.load(f) 19 print(type(pickle_res), pickle_res) 20 #建议:对象的dump和load都应当dump一次和load一次
python基础 json and pickle
猜你喜欢
转载自www.cnblogs.com/flags-blog/p/11964133.html
今日推荐
周排行