Python语言学习:Python常用自带库(imageio、pickle)简介、使用方法之详细攻略
Python語言學(xué)習(xí):Python常用自帶庫(imageio、pickle)簡介、使用方法之詳細(xì)攻略
?
?
目錄
imageio簡介及其常見使用方法
pickle簡介及其常見使用方法
簡介
使用方法
簡介及其常見使用方法
簡介
使用方法
?
?
?
?
?
imageio簡介及其常見使用方法
? ? ? ?IMAIO是一個(gè)Python庫,它提供了一個(gè)簡單的接口來讀取和寫入大量的圖像數(shù)據(jù),包括動畫圖像、體積數(shù)據(jù)和科學(xué)格式。它是跨平臺的,運(yùn)行在Python 2 .x和3。x上,并且易于安裝。
imageio.imread() ? ?#從指定的文件讀取圖像。返回一個(gè)NUMPY數(shù)組,該數(shù)組帶有元數(shù)據(jù)的元屬性。注意,圖像數(shù)據(jù)按原樣返回,并且可能不總是具有uTI8的dType(因此可能不同于例如PIL返回)。
?
?
pickle簡介及其常見使用方法
pickle?— Python object serialization
簡介
? ? ? pickle庫,用于python特有的類型和python的數(shù)據(jù)類型間進(jìn)行轉(zhuǎn)換。pickle提供了一個(gè)簡單的持久化功能。可以將對象以文件的形式存放在磁盤上。 ?pickle模塊只能在Python中使用,python中幾乎所有的數(shù)據(jù)類型(列表,字典,集合,類等)都可以用pickle來序列化, ?pickle序列化后的數(shù)據(jù),可讀性差,人一般無法識別。
? ? ? 在最近的Python版本中,pickler推出了協(xié)議的概念:pickle數(shù)據(jù)的保存格式。通過pickle調(diào)用時(shí)傳入一個(gè)額外的參數(shù),可指定所需的協(xié)議(但unpickle調(diào)用不需要:協(xié)議是自動從已pickle的數(shù)據(jù)確定的)。
1、pickle可以存儲什么類型的數(shù)據(jù)呢?
- 所有python支持的原生類型:布爾值,整數(shù),浮點(diǎn)數(shù),復(fù)數(shù),字符串,字節(jié),None。
- 由任何原生類型組成的列表,元組,字典和集合。
- 函數(shù),類,類的實(shí)例。
?
使用方法
pickle.dump(obj, file[, protocol]) ? ? ? #序列化對象,并將結(jié)果數(shù)據(jù)流寫入到文件對象中。參數(shù)protocol是序列化模式,默認(rèn)值為0,表示以文本的形式序列化。protocol的值還可以是1或2,表示以二進(jìn)制的形式序列化。
?? ??pickle.dump(obj, file, protocol=None,) ? #必填參數(shù)obj表示將要封裝的對象;必填參數(shù)file表示obj要寫入的文件對象,file必須以二進(jìn)制可寫模式打開,即“wb”;可選參數(shù)protocol表示告知pickler使用的協(xié)議,支持的協(xié)議有0,1,2,3,默認(rèn)的協(xié)議是添加在Python 3中的協(xié)議3。
?? ?pickle.dumps(obj):以字節(jié)對象形式返回封裝的對象,不需要寫入文件中
pickle.load(file) ? ? ? ? #反序列化對象。將文件中的數(shù)據(jù)解析為一個(gè)Python對象。
? ? ? pickle.load(file,*,fix_imports=True, encoding="ASCII", errors="strict") ? ?#?必填參數(shù)file必須以二進(jìn)制可讀模式打開,即“rb”,其他都為可選參數(shù)。
?? ? ?pickle.loads(bytes_object): 從字節(jié)對象中讀取被封裝的對象,并返回。
clear_memo() ? ? ? ? ? #清空pickler的“備忘”。使用Pickler實(shí)例在序列化對象的時(shí)候,它會“記住”已經(jīng)被序列化的對象引用,所以對同一對象多次調(diào)用dump(obj),pickler不會“傻傻”的去多次序列化。
# dump功能 # dump 將數(shù)據(jù)通過特殊的形式轉(zhuǎn)換為只有python語言認(rèn)識的字符串,并寫入文件 with open('D:/tmp.pk', 'w') as f:pickle.dump(data, f)# dumps功能 import pickle data = ['aa', 'bb', 'cc'] # dumps 將數(shù)據(jù)通過特殊的形式轉(zhuǎn)換為只有python語言認(rèn)識的字符串 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 從數(shù)據(jù)文件中讀取數(shù)據(jù),并轉(zhuǎn)換為python的數(shù)據(jù)結(jié)構(gòu) with open('D:/tmp.pk', 'r') as f:data = pickle.load(f)# loads功能 # loads 將pickle數(shù)據(jù)轉(zhuǎn)換為python的數(shù)據(jù)結(jié)構(gòu) mes = pickle.loads(p_str) print(mes) #['aa', 'bb', 'cc']?
?
?
簡介及其常見使用方法
簡介
后期繼續(xù)更新……
?
使用方法
后期繼續(xù)更新……
?
?
?
總結(jié)
以上是生活随笔為你收集整理的Python语言学习:Python常用自带库(imageio、pickle)简介、使用方法之详细攻略的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Py之argparse:Python库之
- 下一篇: hacker:Python通过对简单的W