標籤:
Pickle序列化
用於序列化的兩個模組
- json,用於字串 和 python資料類型間進行轉換
- pickle,用於python特有的類型 和 python的資料類型間進行轉換
python的pickle模組實現了基本的資料序列和還原序列化。通過pickle模組的序列化操作我們能夠將程式中啟動並執行對象資訊儲存到檔案中去,永久儲存;通過pickle模組的還原序列化操作,我們能夠從檔案中建立上一次程式儲存的對象。json是可以和別的語言互動,轉換後別的語言可以使用,但僅限於字串,列表和字典而pickle是python專屬的,可以儲存目前狀態,可以存檔
簡單詳解
Json模組提供了四個功能:dumps、dump(序列化,存)、loads(還原序列化,讀)、load
pickle模組提供了四個功能:dumps、dump(序列化,存)、loads(還原序列化,讀)、load (不僅可以序列化字典,列表...還可以把一個程式,一個類給序列化掉)
import json
#loads #--> 內部必須是雙引號
#dumps --loads (對現有的一個操作)
s = ‘{"desc":"invilad-citykey", "status":1002}‘ l = [11,22,33,44] result = json.loads(s) print(result,type(result)) result = json.dumps(l) print(result,type(result)) 結果: {‘status‘: 1002, ‘desc‘: ‘invilad-citykey‘} <class ‘dict‘> [11, 22, 33, 44] <class ‘str‘>
dump -- load(對檔案的一個操作)
s = {"desc":"invilad-citykey", "status":1002} l = [11,22,33,44] a = json.dump(s,open("db","w", encoding="utf-8")) b = json.load(open("db","r", encoding="utf-8")) print(b, type(b))
json和pickle