imghdr --- 推測圖像類型?

源代碼 Lib/imghdr.py

Deprecated since version 3.11, will be removed in version 3.13: The imghdr module is deprecated (see PEP 594 for details and alternatives).


imghdr 模塊推測文件或字節(jié)流中的圖像的類型。

imghdr 模塊定義了以下類型:

imghdr.what(file, h=None)?

測試包含在名為 file 的文件中的圖像數(shù)據(jù),并返回描述該圖像類型的字符串。 如果提供了可選的 h,則 file 參數(shù)會被忽略并且 h 會被視為包含要測試的字節(jié)流。

在 3.6 版更改: 接受一個(gè) path-like object。

接下來的圖像類型是可識別的,返回值來自 what()

圖像格式

'rgb'

SGI 圖像庫文件

'gif'

GIF 87a 和 89a 文件

'pbm'

便攜式位圖文件

'pgm'

便攜式灰度圖文件

'ppm'

便攜式像素表文件

'tiff'

TIFF 文件

'rast'

Sun 光柵文件

'xbm'

X 位圖文件

'jpeg'

JFIF 或 Exif 格式的 JPEG 數(shù)據(jù)

'bmp'

BMP 文件

'png'

便攜式網(wǎng)絡(luò)圖像

'webp'

WebP 文件

'exr'

OpenEXR 文件

3.5 新版功能: exrwebp 格式被添加。

你可以擴(kuò)展此 imghdr 可以被追加的這個(gè)變量識別的文件格式的列表:

imghdr.tests?

執(zhí)行單個(gè)測試的函數(shù)列表。每個(gè)函數(shù)都有兩個(gè)參數(shù):字節(jié)流和類似開放文件的對象。當(dāng) what() 用字節(jié)流調(diào)用時(shí),類文件對象將是 None。

如果測試成功,這個(gè)測試函數(shù)應(yīng)當(dāng)返回一個(gè)描述圖像類型的字符串,否則返回 None。

示例:

>>>
>>> import imghdr
>>> imghdr.what('bass.gif')
'gif'