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']}

可以醃製以下型別

  1. 無,真,假
  2. 整數,浮點數,複數
  3. 字串,位元組,位元組陣列
  4. 僅包含可選物件的元組,列表,集和詞典
  5. 在模組的頂層定義的函式(使用 def,而不是 lambda)
  6. 在模組頂層定義的內建函式
  7. 在模組頂層定義的類
  8. 這些類的例項,其 dict 或呼叫 getstate () 的結果