Python中pickle模塊的使用詳解
python的pickle模塊
python的pickle模塊提供了一個簡答的持久化功能,可以將對象以文件的形式存放在磁盤上。
pickle模塊實(shí)現(xiàn)了基本的數(shù)據(jù)序列化和反序列化 通過pickle模塊的序列化操作pickle.dump(obj, file, [,protocol]),我們能夠?qū)⒊绦蛑羞\(yùn)行的對象信息保存到文件中去,永久存儲。
通過pickle模塊的反序列化操作pickle.load(file),我們能從文件中創(chuàng)建上一次程序保存的對象
pickle模塊只能在python中使用,python中幾乎所有的數(shù)據(jù)類型(列表,字典,集合,類等)都可以用pickle來序列化, pickle序列化后的數(shù)據(jù),可讀性差,人一般無法識別。
注意: pickle模塊可以將任意的對象序列化成二進(jìn)制的字符串寫入到文件中。
還可以從文件中讀取并且轉(zhuǎn)為寫入時候類型。
在python3中pickle是使用轉(zhuǎn)換二進(jìn)制的數(shù)據(jù)壓縮方法保存數(shù)據(jù)
所以,在保存或者讀取數(shù)據(jù)的時候,打開文件應(yīng)該使用rb,wb,wrb,ab的方式
(1)pickle.dump(obj, file,[protocol=None])
存儲:pickle.dump(obj, file,[protocol=None]) 序列化對象,將對象obj保存到文件file中去。
參數(shù)protocol是序列化模式,默認(rèn)是0(ASCII協(xié)議,表示以文本的形式進(jìn)行序列化),protocol的值還可以是1和2(1和2表示以二進(jìn)制的形式進(jìn)行序列化。
其中,1是老式的二進(jìn)制協(xié)議;2是新二進(jìn)制協(xié)議)。
file表示保存到的類文件對象,file必須有write()接口,file可以是一個以’w’打開的文件或者是一個StringIO對象,也可以是任何可以實(shí)現(xiàn)write()接口的對象。
import pickle
#創(chuàng)建一個字典變量
data = {'a':[1,2,3],'b':('string','abc'),'c':'hello'}
print(data)
#以二進(jìn)制方式來存儲,rb,wb,wrb,ab
pic = open(r'C:\python數(shù)據(jù)分析\python基礎(chǔ)\testdata.pkl','wb')
#將字典數(shù)據(jù)存儲為一個pkl文件
pickle.dump(data,pic)
pic.close()

(2)pickle.load(file)
#讀取 pickle.load(file) pic2 = open(r'C:\python數(shù)據(jù)分析\python基礎(chǔ)\testdata.pkl','rb') data = pickle.load(pic2) print(data) print(type(data))

到此這篇關(guān)于Python中pickle模塊的使用詳解的文章就介紹到這了,更多相關(guān)Python中pickle模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)的生成自我描述腳本分享(很有意思的程序)
這篇文章主要介紹了Python實(shí)現(xiàn)的生成自我描述腳本分享,很有意思的程序,繞的人有點(diǎn)頭暈,需要的朋友參考下吧2014-07-07
使用python-pptx包批量修改ppt格式的實(shí)現(xiàn)
今天小編就為大家分享一篇使用python-pptx包批量修改ppt格式的實(shí)現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Python cv2 圖像自適應(yīng)灰度直方圖均衡化處理方法
今天小編就為大家分享一篇Python cv2 圖像自適應(yīng)灰度直方圖均衡化處理方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python?解釋器的站點(diǎn)配置和模塊搜索路徑詳解
Python?解釋器的站點(diǎn)配置是指一組配置和路徑設(shè)置,用于支持特定于站點(diǎn)的定制和擴(kuò)展,這些配置和路徑信息由?Python?的內(nèi)置?site?模塊提供,這篇文章主要介紹了Python?解釋器的站點(diǎn)配置和模塊搜索路徑詳解,需要的朋友可以參考下2022-01-01
Django分頁查詢并返回jsons數(shù)據(jù)(中文亂碼解決方法)
這篇文章主要介紹了Django分頁查詢并返回jsons數(shù)據(jù)(中文亂碼解決方法),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08
Python中類型關(guān)系和繼承關(guān)系實(shí)例詳解
這篇文章主要介紹了Python中類型關(guān)系和繼承關(guān)系,較為詳細(xì)的分析了Python中類型關(guān)系和繼承關(guān)系的原理與使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-05-05

