imghdr --- 推測圖像類型?

源代碼 Lib/imghdr.py


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

imghdr 模塊定義了以下類型:

imghdr.what(filename, h=None)?

測試包含在命名為 filename 的文件中的圖像數據,并且返回描述此類圖片的字符串。如果可選的 h 被提供, filename 將被忽略并且 h 包含將被測試的二進制流。

在 3.6 版更改: 接受一個 path-like object

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

圖像格式

'rgb'

SGI 圖像庫文件

'gif'

GIF 87a 和 89a 文件

'pbm'

便攜式位圖文件

'pgm'

便攜式灰度圖文件

'ppm'

便攜式像素表文件

'tiff'

TIFF 文件

'rast'

Sun 光柵文件

'xbm'

X 位圖文件

'jpeg'

JFIF 或 Exif 格式的 JPEG 數據

'bmp'

BMP 文件

'png'

便攜式網絡圖像

'webp'

WebP 文件

'exr'

OpenEXR 文件

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

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

imghdr.tests?

執行單個測試的函數列表。每個函數都有兩個參數:字節流和類似開放文件的對象。當 what() 用字節流調用時,類文件對象將是 None

如果測試成功,這個測試函數應當返回一個描述圖像類型的字符串,否則返回 None

示例:

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