首頁  >  文章  >  後端開發  >  Python之pickle:醃製你的數據

Python之pickle:醃製你的數據

高洛峰
高洛峰原創
2016-12-16 11:52:381222瀏覽

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

 ys

open('myndata.pico,'my'my'), m pickle.dump({'alice':0,'clio':8},mysavedata)


 

with open('mydata.pickle','rb') as myrestoredata:

 a_dict = picklekle.load(myrestore)

 

print a_dict

結果:

{'clio': 8, 'alice': 0}



網相關文章!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn