jsonpickle数据序列化
生活随笔
收集整理的這篇文章主要介紹了
jsonpickle数据序列化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
json&pickle數據序列化
json 用于字符串和python數據類型間進行轉換 pickle 用于python特有的類型 和 python的數據類型間進行轉換序列化:把字典或者字符串的內存對象 存到硬盤上; 反序列化:就是從硬盤上加載出來json序列化與反序列化
序列化:把字典或者字符串的內存對象 存到硬盤上; import json info = {"name" : "aaa","age" : 22 } f = open("test.text","w",encoding="utf-8") f.write(json.dumps(info)) f.close()反序列化:就是從硬盤上加載出來 import json f = open("test.text","r") data = json.loads(f.read()) print(data["age"]) print(data) f.close()pickle序列化和反序列化
序列化:把字典或者字符串的內存對象 存到硬盤上; import pickle #此函數再這里沒有實際意義,接著往下看 def sayhi(name):print("hello,",name)info = {"name" : "bbb","age" : 33 }f = open("text2.text","wb") f.write(pickle.dumps(info)) f.close()反序列化:就是從硬盤上加載出來 import pickle f = open("text2.text","rb") def sayhi(name):print("hello22,", name)data = pickle.loads(f.read()) print(data) #結果是{'name': 'bbb', 'age': 33} print(data["age"]) #結果是33 #運行sayhi 函數,查看顯示結果,這里只是表現了一種寫代碼的方式。 sayhi(data["name"]) #結果是hello22, bbb f.close()pickle序列化2
上邊的pickle序列化可以寫成: import pickle def sayhi(name):print("hello,",name)info = {"name" : "aaa","age" : 22,"aaa" :sayhi } f = open("text2.text","wb") pickle.dump(info,f) # 完全相同f.write(pickle.dumps(info)) f.close()#反序列化:就是從硬盤上加載出來 import pickle f = open("text2.text","rb") data = pickle.load(f) print(data) print(data["age"]) sayhi("name") f.close()json多次dumps和多次loads
序列化:把字典或者字符串的內存對象 存到硬盤上; import json info = {"name" : "aaa","age" : 22 } f = open("test01.text","w") f.write(json.dumps(info)) info["age"] = 30 f.write(json.dumps(info)) f.close() ''' test01.text內容如下: {"name": "aaa", "age": 22}{"name": "aaa", "age": 30} '''反序列化:就是從硬盤上加載出來 ,在這里loads的時候會報錯。 import json f = open("test01.text","r") data = json.loads(f.read()) print(data["age"]) f.close()當學序列化只dumps一次,在loads就正確了 序列化 import json info = {"name" : "aaa","age" : 22 } f = open("test01.text","w") #f.write(json.dumps(info)) info["age"] = 30 f.write(json.dumps(info)) f.close() #反序列化 import json f = open("test01.text","r") data = json.loads(f.read()) print(data["age"]) #結果是:30 f.close()'''
總結:
json可以dumps多次,loads的時候報錯;同時也不可以loads多次;
要想loads多次,就在dumps的時候dumps成不同的文件,laods不同文件。
'''
pickle多次dumps和多次loads
序列化 import pickle info = {"name" : "aaa","age" : 22 } f = open("test001.text","wb") f.write(pickle.dumps(info)) info["age"] = 30 f.write(pickle.dumps(info)) f.close()反序列化 f = open("test001.text","rb") data = pickle.loads(f.read()) print(data["age"]) #結果是:22 f.close()'''
總結:
pickle可以dumps多次,loads的時候不報錯,但得出的結果是第一次dumps的內容;同時也不可以loads多次;
要想loads多次,就在dumps的時候dumps成不同的文件,laods不同文件。
'''
總結:json 用于字符串和python數據類型間進行轉換 pickle 用于python特有的類型 和 python的數據類型間進行轉換序列化:把字典或者字符串的內存對象 存到硬盤上; 反序列化:就是從硬盤上加載出來當json dumps多次的時候,loads的時候報錯;同時也不可以loads多次; 要想loads多次,就在dumps的時候dumps成不同的文件,laods不同文件。當pickle dumps多次的時候,loads的時候不報錯,但得出的結果是第一次dumps的內容;同時也不可以loads多次; 要想loads多次,就在dumps的時候dumps成不同的文件,laods不同文件。 ? ? ?本文轉自506554897 51CTO博客,原文鏈接:http://blog.51cto.com/506554897/2057325,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的jsonpickle数据序列化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到宇宙是什么意思
- 下一篇: 让物联网真正起飞的关键:无线充电