imghdr --- 推測圖像類型?
源代碼 Lib/imghdr.py
imghdr 模塊推測文件或字節流中的圖像的類型。
imghdr 模塊定義了以下類型:
-
imghdr.what(filename, h=None)? 測試包含在命名為 filename 的文件中的圖像數據,并且返回描述此類圖片的字符串。如果可選的 h 被提供, filename 將被忽略并且 h 包含將被測試的二進制流。
在 3.6 版更改: 接受一個 path-like object。
接下來的圖像類型是可識別的,返回值來自 what():
值 |
圖像格式 |
|---|---|
|
SGI 圖像庫文件 |
|
GIF 87a 和 89a 文件 |
|
便攜式位圖文件 |
|
便攜式灰度圖文件 |
|
便攜式像素表文件 |
|
TIFF 文件 |
|
Sun 光柵文件 |
|
X 位圖文件 |
|
JFIF 或 Exif 格式的 JPEG 數據 |
|
BMP 文件 |
|
便攜式網絡圖像 |
|
WebP 文件 |
|
OpenEXR 文件 |
3.5 新版功能: exr 和 webp 格式被添加。
你可以擴展此 imghdr 可以被追加的這個變量識別的文件格式的列表:
-
imghdr.tests? 執行單個測試的函數列表。每個函數都有兩個參數:字節流和類似開放文件的對象。當
what()用字節流調用時,類文件對象將是None。如果測試成功,這個測試函數應當返回一個描述圖像類型的字符串,否則返回
None。
示例:
>>> import imghdr
>>> imghdr.what('bass.gif')
'gif'
