您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Python使用pickle實現(xiàn)序列化和反序列化,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
代碼實現(xiàn)
import pickle class BeSerializing: def __init__(self): self.var = "a test string." def print_var(self): print(f"self var value is:{self.var}") class Serializing: def do_serializing(self): obj = BeSerializing() # with的好處是會最后自動釋放獲取的資源,對于文件就是最后會自己close() with open("test_pickle.obj", "wb") as file_handler: # 序列化,將對象寫到文件 pickle.dump(obj, file_handler) class DeSerializing: def do_serializing(self): with open("test_pickle.obj", "rb") as file_handler: # 反序列化,將對象從文件中還原 # 注意,雖然python的變量不需要使用前先定義類型,但使用時是要被格式化成確定類型的 # 所以,如果反序列化類和被序列化類不在同一文件中,那么需要將被序列化類import進來,不然會因找不到被反序列化類而反序列化失敗 obj = pickle.load(file_handler) print(f"obj type: {type(obj)}\n" f"obj.var value: {obj.var}") if __name__ == "__main__": obj_se = Serializing() obj_se.do_serializing() obj_de = DeSerializing() obj_de.do_serializing()
運行結果如下,可以看到成功反序列化并打印出被序列化的對象的變量的值:
以上就是Python使用pickle實現(xiàn)序列化和反序列化,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。