Python語言學習:Python常用自帶庫(imageio、pickle)簡介、使用方法之詳細攻略
Python語言學習:Python常用自帶庫(imageio、pickle)簡介、使用方法之詳細攻略
目錄
imageio簡介及其常見使用方法
pickle簡介及其常見使用方法
簡介
使用方法
簡介及其常見使用方法
簡介
使用方法
imageio簡介及其常見使用方法
IMAIO是一個Python庫,它提供了一個簡單的接口來讀取和寫入大量的圖像數據,包括動畫圖像、體積數據和科學格式。它是跨平臺的,運行在Python 2 .x和3。x上,并且易于安裝。
imageio.imread() ? ?#從指定的文件讀取圖像。返回一個NUMPY數組,該數組帶有元數據的元屬性。注意,圖像數據按原樣返回,并且可能不總是具有uTI8的dType(因此可能不同于例如PIL返回)。
pickle簡介及其常見使用方法
pickle?— Python object serialization
簡介
pickle庫,用于python特有的類型和python的數據類型間進行轉換。pickle提供了一個簡單的持久化功能。可以將對象以文件的形式存放在磁盤上。 ?pickle模塊只能在Python中使用,python中幾乎所有的數據類型(列表,字典,集合,類等)都可以用pickle來序列化, ?pickle序列化后的數據,可讀性差,人一般無法識別。
在最近的Python版本中,pickler推出了協議的概念:pickle數據的保存格式。通過pickle調用時傳入一個額外的參數,可指定所需的協議(但unpickle調用不需要:協議是自動從已pickle的數據確定的)。
1、pickle可以存儲什么類型的數據呢?
所有python支持的原生類型:布爾值,整數,浮點數,復數,字符串,字節,None。
由任何原生類型組成的列表,元組,字典和集合。
函數,類,類的實例。
使用方法
pickle.dump(obj, file[, protocol]) ? ? ? #序列化對象,并將結果數據流寫入到文件對象中。參數protocol是序列化模式,默認值為0,表示以文本的形式序列化。protocol的值還可以是1或2,表示以二進制的形式序列化。
pickle.dump(obj, file, protocol=None,) ? #必填參數obj表示將要封裝的對象;必填參數file表示obj要寫入的文件對象,file必須以二進制可寫模式打開,即“wb”;可選參數protocol表示告知pickler使用的協議,支持的協議有0,1,2,3,默認的協議是添加在Python 3中的協議3。
pickle.dumps(obj):以字節對象形式返回封裝的對象,不需要寫入文件中
pickle.load(file) ? ? ? ? #反序列化對象。將文件中的數據解析為一個Python對象。
pickle.load(file,*,fix_imports=True, encoding="ASCII", errors="strict") ? ?#?必填參數file必須以二進制可讀模式打開,即“rb”,其他都為可選參數。
pickle.loads(bytes_object): 從字節對象中讀取被封裝的對象,并返回。
clear_memo() ? ? ? ? ? #清空pickler的“備忘”。使用Pickler實例在序列化對象的時候,它會“記住”已經被序列化的對象引用,所以對同一對象多次調用dump(obj),pickler不會“傻傻”的去多次序列化。
# dump功能
# dump 將數據通過特殊的形式轉換為只有python語言認識的字符串,并寫入文件
with open('D:/tmp.pk', 'w') as f:
pickle.dump(data, f)
# dumps功能
import pickle
data = ['aa', 'bb', 'cc']
# dumps 將數據通過特殊的形式轉換為只有python語言認識的字符串
p_str = pickle.dumps(data)
print(p_str)
b'\x80\x03]q\x00(X\x02\x00\x00\x00aaq\x01X\x02\x00\x00\x00bbq\x02X\x02\x00\x00\x00ccq\x03e.
# load功能
# load 從數據文件中讀取數據,并轉換為python的數據結構
with open('D:/tmp.pk', 'r') as f:
data = pickle.load(f)
# loads功能
# loads 將pickle數據轉換為python的數據結構
mes = pickle.loads(p_str)
print(mes) #['aa', 'bb', 'cc']
簡介及其常見使用方法
簡介
后期繼續更新……
使用方法
后期繼續更新……
Python TCP/IP
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。