Python使用Pickle模塊進行數(shù)據(jù)保存和讀取的講解
pickle 是一個 python 中, 壓縮/保存/提取 文件的模塊,字典和列表都是能被保存的.
但必須注意的是python2以ASCII形式保存,而在python3中pickle是使用轉換二進制的數(shù)據(jù)壓縮方法保存數(shù)據(jù)
所以,在保存或者讀取數(shù)據(jù)的時候,打開文件應該使用‘wb' 'rb'的方式
import pickle
a = 'owoof'
with open('111.pkl', 'wb') as file:
pickle.dump(a, file)
在Pickle模塊中還有dumps()和loads()函數(shù),他們是直接實現(xiàn)一個二進制和pickle表示對象的轉換,不用打開文件(這點與dump不同)
dumps()是將可讀對象轉換成二進制文件,并返回二進制文件,loads()是把二進制文件轉換成可讀對象,并返回對象
在使用dump()和load()時,需要注意用with open 打開一次文件每調用一次dump()就會在文件中生成一次數(shù)據(jù), 當再次with open 打開文件時, 之前寫數(shù)據(jù)調用了幾次dump()就最多只能調用load()幾次,而且每次dump()是和load()對應的.
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()是一一對應的,如果我進行第四次load()調用,編譯器會提示data ran out of .
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接
相關文章
Python中自定義函方法與參數(shù)具有默認值的函數(shù)
這篇文章主要介紹了Python中自定義函方法與參數(shù)具有默認值的函數(shù),在Python編程中,可以使用已經(jīng)定義好的函數(shù),也可以自定義函數(shù)實現(xiàn)某些特殊的功能,更多相關資料,請需要的人參考下面文章內容2022-02-02
tensorflow學習筆記之tfrecord文件的生成與讀取
這篇文章主要介紹了tensorflow學習筆記之tfrecord文件的生成與讀取,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
Python使用matplotlib的pie函數(shù)繪制餅狀圖功能示例
這篇文章主要介紹了Python使用matplotlib的pie函數(shù)繪制餅狀圖功能,結合實例形式分析了Python使用matplotlib的pie函數(shù)進行餅狀圖繪制的具體操作技巧,注釋中對pie函數(shù)的用法進行了詳細的說明,便于理解,需要的朋友可以參考下2018-01-01
TensorFlow實現(xiàn)checkpoint文件轉換為pb文件
今天小編就為大家分享一篇TensorFlow實現(xiàn)checkpoint文件轉換為pb文件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02

