json and pickie 序列化
阿新 • • 發佈:2017-12-26
func log isp lap -c pla 處理 使用 保存
- json只能用於簡單的數據類型,例如:字典啊,列表啊,字符串之類的,無法處理復雜的,例如帶有函數的
- json適用於所有的開發語言
- dumps與loads只對應使用一次,若dumps多次,則loads出錯
- import json json.dumps() and json.loads()
import json info = { "name":"alex", "age": 23 } f = open("test.txt","w",encoding="utf-8") f.write(json.dumps(info)) f.close()test1序列化
import json f = open("test.txt","r",encoding="utf-8") data = json.loads(f.read()) print(data)test1反序列化
- import json json.dump() and json.load()
import json info = { "name":"alex", "age": 23 } f = open("test.txt","w",encoding="utf-8") json.dump(info,f) #相當於f.write(json.dumps(info))test2序列化f.close()
import json f = open("test.txt","r",encoding="utf-8") data = json.load(f)#相當於data = json.loads(f.read()) print(data) f.close()test2反序列化
- import pickle 處理復雜類型:只適用於python
import pickle def func(name): print("name",name) info = { "name":"alex", "age": 23,test3序列化"function":func } f = open("test.txt","wb") f.write(pickle.dumps(info)) f.close()
import pickle def func(name): print("name",name) print("這裏只保存了對應函數的名稱,有相應的名稱則能使用,裏面的內容可以不同") f = open("test.txt","rb") data = pickle.loads(f.read()) print(data) f.close()test3反序列化
json and pickie 序列化