Python之pickle: Pickle your data

來源:互聯網
上載者:User
1.什麼是Pickle?Pickle的優點是?

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}




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.