json序列化
info = { 'name':'alex', 'age':22 } f = open("test.txt",'w') f.write(str(info)) #字典不能直接存,先转换成字符串 f.close() import json info = { 'name':'alex', 'age':22 } f = open("test.txt",'w') f.write(json.dumps(info)) f.close()
json反序列化
f = open("test.txt",'r') data = eval(f.read()) #读出来也是字符串,要转换成字典 f.close() print(data['age'])
import json f = open("test.txt",'r') data = json.loads(f.read()) print(data['age'])
pickle可以序列化所有的数据类型
import pickle info = { 'name':'alex', 'age':22 } f = open("test.txt",'wb') pickle.dump(info,f) #f.write(pickle.dumps(info)) f.close()
import pickle f = open("test.txt",'rb') data = pickle.load(f) #data = pickle.loads(f.read()) print(data['age'])
pickle只在python本语言中能用
java只认识json
写程序只dump一次,load一次
json文件的读取
#导入模块 import json # 将json对象转成字典 -> 进行解码 with open("hm.json", "r", encoding="utf-8") as f: # 获取文件中数据 -> 字典 new_dict = json.load(f) # 查看类型 print(type(new_dict)) # <class 'dict'> # 获取名字 print(new_dict["name"]) # 获取年龄 print(new_dict["age"]) # 获取学号 print(new_dict["no"])
json文件的写入
#导入模块 import json # 定义一个字典 my_dict = {"name": "老王", "age": 30, "no": "007"} # 将字典转成json -> 进行编码 json_str = json.dumps(my_dict) # 打印json字符串 print(type(json_str)) # <class 'str'> # 把json数据写入到文件中 with open("hm.json", "w", encoding="utf-8") as f: f.write(json_str)
完