保存物件:實現資料持久化
在物件導向程式設計中,儲存和擷取物件的狀態對於資料持久化至關重要。
要儲存對象,您可以使用 Python pickle 模組。讓我們探索如何:
為Pickle 包裝物件:
使用pickle 模組,您可以透過將物件「包裝」在二進位流中來序列化對象。您可以透過以寫入二進位模式(「wb」)開啟檔案並使用pickle.dump() 函數來儲存物件來實現此目的:
import pickle # Example object company1 = Company('banana', 40) with open('company_data.pkl', 'wb') as outp: pickle.dump(company1, outp, pickle.HIGHEST_PROTOCOL)
利用cPickle 或_pickle (Python 3):
為了提高效能,請考慮使用cPickle(或Python 中的 _pickle) 3)因為它比 pickle 模組快得多。只需取代導入語句:
import cPickle as pickle
最佳化協定版本:
Pickle 使用不同的協定以不同的格式寫入資料。協定 0 是人類可讀的,而版本 >0 是二進位的。指定最高版本(-1) 可確保您的Python 版本使用最新支援的協定:
pickle.dump(obj, outp, -1)
儲存多個物件:
您可以使用清單、元組或在單一pickle檔案中儲存多個物件dict:
tech_companies = [ Company('Apple', 114.18), Company('Google', 908.60), Company('Microsoft', 69.18) ] save_object(tech_companies, 'tech_companies.pkl')
取消儲存的物件:
要復原已儲存的對象,只需以讀取二進位模式('rb')開啟pickle檔案並使用pickle.load()檢索data:
with open('company_data.pkl', 'rb') as inp: company1 = pickle.load(inp)
總之,使用 pickle 模組提供了一種保存和復原物件的有效方法,使您能夠為應用程式建立持久資料結構。
以上是如何使用 Pickle 高效保存和檢索 Python 物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!