首頁  >  文章  >  後端開發  >  如何使用Pickle在Python中保存對象

如何使用Pickle在Python中保存對象

藏色散人
藏色散人原創
2019-01-18 09:29:473198瀏覽

預設情況下,Pickle是Python庫的一部分,只要您需要在使用者會話之間保持持久性,它就是一個重要的模組。作為一個模組,pickle提供了在進程之間保存Python物件的功能。

如何使用Pickle在Python中保存對象

無論您是為資料庫、遊戲、論壇或其他必須在會話之間保存資訊的應用程式編程,pickle都有助於保存標識符和設定。 pickle模組可以儲存諸如布林值、字串和位元組數組、列表、字典、函數等資料類型。

注意:pickle的概念也稱為序列化、封送和扁平化。然而,關鍵始終是一樣的——將物件保存到文件中以便以後檢索。 pickle透過將物件寫入長位元組流來實現這一點。

Python中的Pickle範例程式碼

要將物件寫入文件,請使用以下語法中的程式碼:

import pickle 
object = Object() 
filehandler = open(filename, 'w') 
pickle.dump(object, filehandler)

以下是現實範例:

import pickle 
import math 
object_pi = math.pi 
file_pi = open('filename_pi.obj', 'w') 
pickle.dump(object_pi, file_pi)

此片段將object_pi的內容寫入檔案處理程序file_pi,而檔案處理程序file_pi再綁定到執行目錄中的檔案filename_pi.obj。

要將物件的值還原到內存,請從檔案載入物件。假設尚未導入pickle以供使用,請先導入它:

import pickle 
filehandler = open(filename, 'r') 
object = pickle.load(filehandler)

以下程式碼恢復pi的值:

import pickle 
file_pi2 = open('filename_pi.obj', 'r') 
object_pi2 = pickle.load(file_pi2)

然後該物件再次準備好再次使用,這次是object_pi2。當然,如果您願意,您可以重複使用原始名稱。此範例為清晰起見使用不同的名稱。

關於Pickle的事情

使用pickle模組時請記住以下事項:

pickle協定是特定於Python - 它不保證是跨語言相容的。您很可能無法傳輸訊息以使其在Perl,PHP,Java或其他語言中有用。

不同版本的Python之間也不保證相容性。存在不相容性,因為並非每個Python資料結構都可以由模組序列化。

預設情況下,使用最新版本的pickle協定。除非您手動更改它,否則它仍然是這樣。

以上是如何使用Pickle在Python中保存對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn