python資料持久化到檔案並讀取:pickle的使用
阿新 • • 發佈:2019-02-14
一、所需匯入模組
import pickle
二、所需介面及介紹
pickle.dump(obj, file, [,protocol])
註解:將物件obj儲存到檔案file中去。
file:物件儲存到的類檔案物件。file必須有write()介面, file可以是一個以'w'方式開啟的檔案或者一個StringIO物件或者其他任何實現write()介面的物件。如果protocol>=1,檔案物件需要是二進位制模式開啟的。
protocol為序列化使用的協議版本,0:ASCII協議,所序列化的物件使用可列印的ASCII碼錶示;1:老式的二進位制協議;2:2.3版本引入的新二進位制協議,較以前的更高效。其中協議0和1相容老版本的python。protocol預設值為0。
pickle.load(file)
註解:從file(檔案物件)中讀取一個字串,並將它重構為原來的python物件。
三、實際小案例
#將字典物件儲存到檔案中 import pickle f1 = open('pickle.txt','wb') d = {'one':'hello','two':'world'} pickle.dump(d,f1) f1.flush() f1.close()
#使用pickle模組從檔案中重構python物件 import pickle read_file = open('pickle.txt','rb') data = pickle.load(read_file) print(data) read_file.close()
#註釋:使用這種方式也可以儲存中文