Python提供了一個名為Pickle的標準模塊。這是一個令人贊嘆的模塊,幾乎可以把任何Python對象(甚至是一些Python代碼塊(form)?。┍磉_為為字符串,這一過程稱之為封裝(pickling)。從字符串表達出重新構造對象稱之為拆封(unpickling)。封裝狀態中的對象可以存儲在文件或對象中,也可以通過網絡在遠程的機器之間傳輸。
Pickle模塊會創建一個Python語言專用的二進制格式,而不需要把他們轉化為字符串,也不用底層的文件訪問操作把它們寫入到一個二進制文件里,你基本上不用考慮任何文件細節。
2.Pickle的主要函數
Pickle模塊中的兩個主要函數是dump()和load()。
dump()函數把數據對象以特定的格式保存到給定的文件中。
load()函數從文件中取出已保存的對象時,pickle知道如何恢復這些對象到它們本來的格式。
dumps()函數執行和dump() 函數相同的序列化。取代接受流對象并將序列化后的數據保存到磁盤文件,這個函數簡單的返回序列化的數據。
loads()函數執行和load() 函數一樣的反序列化。取代接受一個流對象并去文件讀取序列化后的數據,它接受包含序列化后的數據的str對象, 直接返回的對象。
cPickle是pickle得一個更快得C語言編譯版本。
pickle和cPickle相當于java的序列化和反序列化操作
3.Pickle的使用方法
import pickle
with open('mydata.pickle','wb') as mysavedata:
pickle.dump({'alice':0,'clio':8},mysavedata)
with open('mydata.pickle','rb') as myrestoredata:
a_dict = pickle.load(myrestoredata)
print a_dict
結果:
{'clio': 8, 'alice': 0}
更多Python之pickle: Pickle your data相關文章請關注PHP中文網!
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com