您好,登錄后才能下訂單哦!
本篇內容介紹了“Pickle模塊中的dump()和load()方法怎么使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Pickle模塊實現了基本的數據序列化與反序列化操作。通過序列化操作,我們可以將程序中運行的對象信息轉化為字節流保存到文件中去,永久存儲在磁盤上。通過反序列化操作,我們可以將文件中字節流數據重新解析為一個python對象。
注:pickle序列化后的字節流數據可讀性差,人一般無法識別。
1.不需要在跑代碼時重新去計算得到數據,事先進行序列化操作保存數據可以節省計算機資源;
2.pkl文件能夠更好的被內存調用,不需要經過數據格式的轉換,因此提高了效率;而假如保存為其他格式(如txt、csv文件),那么數據讀寫速度都不如序列化后的數據。
3.Pickle可以保存多個對象。實驗中,同一數據集下需要保存的內容不止一種,通過pickle可以全部將其保存到一個.pkl文件。
obj: 要進行序列化的對象,這里將對象obj保存到文件file中去;
file: file表示保存到的類文件對象,file必須有write()接口,file可以是一個以’w’打開的文件或者是一個StringIO對象,也可以是任何可以實現write()接口的對象;
protocol: 序列化模式,默認是 0(ASCII協議,表示以文本的形式進行序列化),protocol的值還可以是1和2(1和2表示以二進制的形式進行序列化。其中,1是老式的二進制協議;2是新二進制協議)
import pickle # 創建一個字典對象 data = {'a':[1,2,3],'b':'Hello'} # 以二進制寫入方式打開文件,得到文件對象 fw = open('./Mydata.pkl','wb') # 將字典數據存儲為一個pkl文件 pickle.dump(data, fw) # 關閉文件 pickle.close()
序列化后的數據形式:
file: 表示上一步序列化之后的文件,這里進行反序列化操作。
import pickle # 以二進制讀入方式打開文件,得到文件對象 fw = open(r'C:\python數據分析\python基礎\testdata.pkl','rb') # 將字節流數據反序列化為一個字典對象 data = pickle.load(pic2) print(data)
打印出來的數據:
“Pickle模塊中的dump()和load()方法怎么使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。