Python使用Pickle模塊進(jìn)行數(shù)據(jù)保存和讀取的講解
pickle 是一個(gè) python 中, 壓縮/保存/提取 文件的模塊,字典和列表都是能被保存的.
但必須注意的是python2以ASCII形式保存,而在python3中pickle是使用轉(zhuǎn)換二進(jìn)制的數(shù)據(jù)壓縮方法保存數(shù)據(jù)
所以,在保存或者讀取數(shù)據(jù)的時(shí)候,打開文件應(yīng)該使用‘wb' 'rb'的方式
import pickle a = 'owoof' with open('111.pkl', 'wb') as file: pickle.dump(a, file)
在Pickle模塊中還有dumps()
和loads()
函數(shù),他們是直接實(shí)現(xiàn)一個(gè)二進(jìn)制和pickle表示對(duì)象的轉(zhuǎn)換,不用打開文件(這點(diǎn)與dump不同)
dumps()是將可讀對(duì)象轉(zhuǎn)換成二進(jìn)制文件,并返回二進(jìn)制文件,loads()是把二進(jìn)制文件轉(zhuǎn)換成可讀對(duì)象,并返回對(duì)象
在使用dump()和load()時(shí),需要注意用with open 打開一次文件每調(diào)用一次dump()就會(huì)在文件中生成一次數(shù)據(jù), 當(dāng)再次with open 打開文件時(shí), 之前寫數(shù)據(jù)調(diào)用了幾次dump()就最多只能調(diào)用load()幾次,而且每次dump()是和load()對(duì)應(yīng)的.
with open('poins_normal.pkl', 'rb') as file:with open('poins_normal.pkl', 'rb') as file: class_1 = pickle.load(file) # print(np.shape(class_1)) class_2 = pickle.load(file) labels = pickle.load(file) class_1 = pickle.load(file) # print(np.shape(class_1)) class_2 = pickle.load(file) labels = pickle.load(file)
如上,我事先寫了三次dump(),那么之后的三次load()是一一對(duì)應(yīng)的,如果我進(jìn)行第四次load()調(diào)用,編譯器會(huì)提示data ran out of .
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
Pandas自定義shift與DataFrame求差集的小技巧
Python是進(jìn)行數(shù)據(jù)分析的一種出色語(yǔ)言,主要是因?yàn)橐詳?shù)據(jù)為中心的python軟件包具有奇妙的生態(tài)系統(tǒng),下面這篇文章主要給大家介紹了關(guān)于Pandas自定義shift與DataFrame求差集的相關(guān)資料,需要的朋友可以參考下2022-02-02Python自動(dòng)化測(cè)試selenium指定截圖文件名方法
這篇文章主要介紹了Python自動(dòng)化測(cè)試selenium指定截圖文件名方法,Selenium?支持?Web?瀏覽器的自動(dòng)化,它提供一套測(cè)試函數(shù),用于支持?Web?自動(dòng)化測(cè)試,下文基于python實(shí)現(xiàn)指定截圖文件名方法,需要的小伙伴可以參考一下2022-05-05一個(gè)Python案例帶你掌握xpath數(shù)據(jù)解析方法
xpath解析是最常用且最便捷高效的一種解析方式,通用性強(qiáng)。本文將通過(guò)一個(gè)Python爬蟲案例帶你詳細(xì)了解一下xpath數(shù)據(jù)解析方法,需要的可以參考一下2022-02-02Python導(dǎo)入模塊包原理及相關(guān)注意事項(xiàng)
這篇文章主要介紹了Python導(dǎo)入模塊包原理及相關(guān)注意事項(xiàng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03Python 實(shí)現(xiàn)圖片轉(zhuǎn)字符畫的示例(靜態(tài)圖片,gif皆可)
這篇文章主要介紹了Python 實(shí)現(xiàn)圖片轉(zhuǎn)字符畫的示例,幫助大家更好的利用python進(jìn)行圖片處理,感興趣的朋友可以了解下2020-11-11