python基础 json and pickle

 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一次

猜你喜欢

转载自www.cnblogs.com/flags-blog/p/11964133.html