python中有兩個類似的:pickle與cpickle;兩者的關係:「cpickle – a faster pickle」
pickle模組中的兩個主要函式是dump()和load()。dump()函式接受乙個檔案控制代碼和乙個資料物件作為引數,把資料物件以特定的格式儲存到給定的檔案中。當我們使用load()函式從檔案中取出已儲存的物件時,pickle知道如何恢復這些物件到它們本來的格式。
cpickle可以對任意一種型別的python物件進行序列化操作,比如list,dict,甚至是乙個類的物件等。而所謂的序列化,我的粗淺的理解就是為了能夠完整的儲存並能夠完全可逆的恢復。在cpickle中,主要有四個函式可以做這一工作,下面使用例子來介紹。
一、dump: 將python物件序列化儲存到本地的檔案。
>>> import cpickle
>>> data = range(1000)
>>> cpickle.dump(data,open("test\\data.pkl","wb")) 12
3dump函式需要指定兩個引數,第乙個是需要序列化的python物件名稱,第二個是本地的檔案,需要注意的是,在這裡需要使用open函式開啟乙個檔案,並指定「寫」操作。
二、 load:載入本地檔案,恢復python物件
>>> data = cpickle.load(open("test\\data.pkl","rb"))
1同dump一樣,這裡需要使用open函式開啟本地的乙個檔案,並指定「讀」操作
三、 dumps:將python物件序列化儲存到乙個字串變數中
>>> data_string = cpickle.dumps(data)
1四、 loads:從字串變數中載入python物件
>>> data = cpickle.loads(data_string)
1例子:
# -*- coding: utf-8 -*-
import pickle
# 也可以這樣:
# import cpickle as pickle
obj =
# 將 obj 持久化儲存到檔案 tmp.txt 中
pickle.dump(obj, open("tmp.txt", "w"))
# do something else ...
# 從 tmp.txt 中讀取並恢復 obj 物件
obj2 = pickle.load(open("tmp.txt", "r"))
print obj212
3456
78910
11例子:神經網路中模型引數的儲存
Python學習筆記(四)
dict 用 dict 表示 名字 成績 的查詢表如下 d 名字稱為key,對應的成績稱為value,dict就是通過 key 來查詢 value。key不能重複 花括號 表示這是乙個dict,然後按照 key value,寫出來即可。最後乙個 key value 的逗號可以省略。由於dict也是集...
python學習筆記(四)
0.假設你現在拿到了乙個英語句子,需要把這個句子中的每乙個單詞拿出來單獨處理。sentence i am an englist sentence 這時就需要對字串進行分割。sentence.split split 會把字串按照其中的空格進行分割,分割後的每一段都是乙個新的字串,最終返回這些字串組成乙...
Python學習日誌(四)
所有的 python 對像都擁有三個特性 身份,型別和值。身份 每乙個物件都有乙個唯一的身份標識自己,任何物件的身份可以使用內建函式 id 來得到。這個值可以被認為是該物件的記憶體位址。您極少會用到這個值,也不用太關心它究竟是什麼。型別 物件的型別決定了該物件可以儲存什麼型別的值,可以進行什麼樣的操...