1. 程式人生 > 程式設計 >Python pickle模組實現物件序列化

Python pickle模組實現物件序列化

這篇文章主要介紹了Python pickle模組實現物件序列化,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

作用

對Python物件進行序列化,便於儲存和傳輸

Python物件序列化成bytes型別

pickle.dumps(obj) 將Python物件轉化為bytes型別

pickle.loads(str) 將轉化成的bytes型別資料還原成物件

Python 3.7.0 (v3.7.0:1bf9cc5093,Jun 27 2018,04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "copyright","credits" or "license()" for more information.
>>> import pickle
>>> mydict = {'id':123,'name':'abc'}
>>> pickle_str = pickle.dumps(mydict)
>>> pickle_str
b'\x80\x03}q\x00(X\x02\x00\x00\x00idq\x01K{X\x04\x00\x00\x00nameq\x02X\x03\x00\x00\x00abcq\x03u.'
>>> newdict = pickle.loads(pickle_str)
>>> newdict
{'id': 123,'name': 'abc'}

Python物件序列化寫入檔案

pickle.dump(obj,file)

可以儲存多個物件,讀取時按儲存順序讀取

>>> import pickle
>>> mydict = {'id':123,'name':'abc'}
>>> file = open('pickle.txt','wb')
>>> pickle.dump(mydict,file)
>>> file.close()

從檔案反序列化讀取Python物件

pickle.load(obj,file)

>>> import pickle
>>> file = open('pickle.txt','rb')
>>> newdict = pickle.load(file)
>>> file.close()
>>> newdict
{'id': 123,'name': 'abc'}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。