imghdr —- 推测图像类型
源代码 Lib/imghdr.py
从 3.11 版起不建议使用,将在 3.13 版中移除: imghdr 模块已被弃用(请参阅 PEP 594 了解详情及其替代品)。
imghdr 模块推测文件或字节流中的图像的类型。
imghdr 模块定义了以下类型:
imghdr.what(file, h=None)
测试包含在名为 file 的文件中的图像数据并返回描述该图像类型的字符串。 如果提供了 h,则 file 参数会被忽略并且 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'