python pickle序列化儲存

2021-10-06 15:02:23 字數 994 閱讀 9104

在程式執行過程中所有的變數都是存在記憶體中,一旦程式關閉或者電腦關機,記憶體中的所有資料都會丟失。為了能夠繼續使用,我們需要將資料存放在硬碟裡。

我們把變數從記憶體中變成可儲存或傳輸的過程稱之為序列化,在python中叫pickling,在其他語言中也被稱之為serialization,marshalling,flattening等等,都是乙個意思。

序列化之後,就可以把序列化後的內容寫入磁碟,或者通過網路傳輸到別的機器上。

反過來,把變數內容從序列化的物件重新讀到記憶體裡稱之為反序列化,即unpickling。

首先,我們嘗試把乙個物件序列化並寫入檔案:

import pickle

d =dict

(name=

'bob'

, age=

20, score=88)

with

open

('data.pkl'

,'wb'

)as ff:

pickle.dump(d, ff)

此時,會在相同目錄下產生乙個『data.pkl』檔案,這個檔案是人類不可讀的。

with open() as是python中開啟資料夾的一種操作,『wb』是以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。

關於python中open的用法和讀寫檔案的操作,請分別訪問部落格和教程了解。

序列化操作完成之後我們要進行反序列化:

with

open

('data.pkl'

,'rb'

)as ff:

data1 = pickle.load(ff)

print

(data1)

其中』rb』表示唯讀操作。

輸出結果為:

python pickle序列化儲存

序列化儲存 序列化物件可以在磁碟上儲存物件,並在需要的時候讀取出來。任何物件都可以執行序列化操作,字典物件也不例外。def storetree inputtree,filename import pickle fw open filename,w pickle.dump inputtree,fw f...

python pickle資料序列化儲存簡單學習

注 windowns,python2.7 理解 可用來儲存想要儲存的資料,存什麼格式的資料,讀的時候就是什麼資料,和open write只讀寫字串不一樣。使用 匯入模組 import cpickle as pickle 因為新版本的python使用c實現了以前的pickle模組,速度會更快,所以我們...

序列化(序列化)

原書上翻譯為序列化,msdn翻譯為序列化 作用 當需要儲存,或者網路傳輸 remoting時,資料 物件或值 需要序列化 類似於打包傳輸檔案。system.serializableattribute 序列化是指儲存和獲取磁碟檔案 記憶體或其他地方中的物件。在序列化時,所有的例項資料都儲存到儲存介質上...