Python序列化與反序列化pickle用法實例
更新時間:2019年11月11日 11:40:29 作者:wx5a4c600866558
這篇文章主要介紹了Python序列化與反序列化pickle用法實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
這篇文章主要介紹了Python序列化與反序列化pickle用法實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
要將Python對象作為一個文件的形式保存到磁盤,就叫序列化;
當我們需要用到這個這對象,再從磁盤加載這個對象,就叫反序列化
Python自帶的pickle可以幫我們實現,pickle這個單詞是咸菜的意思,咸菜耐儲存,是不是很形象呀?
對象的存儲分為兩步:
1.將對象在內存中的數據抓取取來,轉換成一個有序的文本,這一步就是序列化
2.再將文本存儲到磁盤中
代碼如下
import pickle class Bird(object): have_feather = True reproduction_method = "egg"# # 創(chuàng)建一個對象 summer = Bird() pickle_string = pickle.dumps(summer)# 已被序列化成二進制數據 with open("summer.pkl", "wb") as fp: fp.write(pickle_string) # dump方法可以把上面兩步作為一步來完成:# with open( "summer.pkl", "wb") as fp: #pickle.dump( summer, fp) # 從磁盤文件上恢復對象: 先讀取文件, 再loads with open("summer.pkl", "rb") as fp: summer = fp.read()# 先讀取 summer = pickle.loads(summer)# 再序列化 print(summer.have_feather)# 或者用load方法, 一步到位# with open( "summer.pkl", "rb") as fp: #summer = pickle.load(fp)# print(summer.have_feather)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python基于win32ui模塊創(chuàng)建彈出式菜單示例
這篇文章主要介紹了Python基于win32ui模塊創(chuàng)建彈出式菜單,結合實例形式分析了Python使用win32ui模塊創(chuàng)建彈出式菜單的具體步驟與相關操作技巧,并附帶說明了win32ui模塊的安裝命令,需要的朋友可以參考下2018-05-05