從乙個檔案中讀取字串很簡單,但是如果想要讀取出數值,那就需要多費些周折。因為無論是read()方法還是readline()方法,都是返回乙個字串,再使用int()或者float()方法強制把字串轉換為具體的數值。那麼如果要儲存的資料像列表或者字典甚至是類的例項這些複雜的資料型別時,那麼從文字檔案恢復資料物件,就變得異常麻煩了。
此時則需要 python 提供的乙個標準模組 — pickle模組。pickle英文釋義為 「泡菜」 ,他幾乎可以把所有python的物件都轉化為二進位制的形式存放,找個過程稱為 pickling,從二進位制形式轉換回物件的過程稱為 unpickling。
import pickle
my_list =[12
,"你好",34
,56,78.0,9
,["深圳",0
,3.14159],
10]pickle_file =
open
("./pickle_test.pkl"
,"wb"
)pickle.dump(my_list, pickle_file)
pickle_file.close(
)
import pickle
pickle_file =
open
("./pickle_test.pkl"
,"rb"
)my_list = pickle.load(pickle_file)
print
(my_list,
len(my_list)
,type
(my_list)
)
總結:利用pickle模組,不僅可以儲存列表,事實上 pickle可以儲存任何你能想象得到的東西。 python中的pickle模組
它可以序列化 物件並儲存到磁碟中,並在需要的時候讀取出來,任何物件都可以執行序列化操作。那麼什麼又是序列化呢?簡單來說,序列化就是用來處理物件流的機制。所謂物件流也就是將物件的內容進行流化,流的概念這裡不用多說 就是i o 我們可以對流化後的物件進行讀寫操作,也可將流化後的物件傳輸於網路之間 注 要...
Python中的pickle模組
鏈客,專為開發者而生,有問必答!pickle模組的作用 pickle模組用於將python物件序列化為位元組流,可儲存在檔案或資料庫中,也可同通過網路進行傳輸。使用反序列化 unpickle 可以將生成的位元組流轉換回python物件。pickling 是將python物件層次結構轉換為位元組流的過...
python中的pickle模組
pickle庫是實現基本的資料序列化和反序列化的模組。pickle可以儲存的型別資料 所有python支援的原生型別 布林值,整數,浮點數,複數,字串,位元組,none 由任何原生型別組成的列表,元組,字典和集合。函式,類,類的例項 pickle模組中的常用方法 pickle.dump obj,fi...