Python 永續性
數字,列表,字典,巢狀結構和類例項物件等物件存在於計算機的記憶體中,並在指令碼結束後立即丟失。
pickle 將資料持久儲存在單獨的檔案中。
在所有情況下,物件的醃製表示總是一個位元組物件,因此必須開啟 wb
中的檔案來儲存資料,並且 rb
要從 pickle 載入資料。
資料可能不屬於任何型別,例如,
data={'a':'some_value',
'b':[9,4,7],
'c':['some_str','another_str','spam','ham'],
'd':{'key':'nested_dictionary'},
}
儲存資料
import pickle
file=open('filename','wb') #file object in binary write mode
pickle.dump(data,file) #dump the data in the file object
file.close() #close the file to write into the file
載入資料
import pickle
file=open('filename','rb') #file object in binary read mode
data=pickle.load(file) #load the data back
file.close()
>>>data
{'b': [9, 4, 7], 'a': 'some_value', 'd': {'key': 'nested_dictionary'},
'c': ['some_str', 'another_str', 'spam', 'ham']}
可以醃製以下型別
- 無,真,假
- 整數,浮點數,複數
- 字串,位元組,位元組陣列
- 僅包含可選物件的元組,列表,集和詞典
- 在模組的頂層定義的函式(使用 def,而不是 lambda)
- 在模組頂層定義的內建函式
- 在模組頂層定義的類
- 這些類的例項,其 dict 或呼叫 getstate () 的結果