22.7. imghdr
- 确定图像的类型¶
源代码: Lib / imghdr.py
imghdr
模块确定包含在文件或字节流中的图像类型。
imghdr
模块定义以下函数:
-
imghdr.
what
(filename, h=None)¶ 测试由filename命名的文件中包含的图像数据,并返回描述图像类型的字符串。如果提供了可选的h,则忽略文件名,假设h包含要测试的字节流。
可以识别以下图像类型,如下所示,返回值来自what()
:
值 | 图像格式 |
---|---|
'rgb' | SGI ImgLib文件 |
'gif' | GIF 87a和89a文件 |
'pbm' | 便携式位图文件 |
'pgm' | 便携式灰色图文件 |
'ppm' | 便携式Pixmap文件 |
'tiff' | TIFF文件 |
'rast' | 太阳光栅文件 |
'xbm' | X位图文件 |
'jpeg' | JFIF或Exif格式的JPEG数据 |
'bmp' | BMP文件 |
'png' | 便携式网络图形 |
'webp' | WebP文件 |
'exr' | OpenEXR文件 |
版本3.5中的新功能:添加了exr和webp格式。
您可以扩展文件类型列表imghdr
可以通过追加到此变量来识别:
-
imghdr.
tests
¶ 执行单独测试的函数列表。每个函数都有两个参数:字节流和一个类似打开文件的对象。当使用字节流调用
what()
时,类文件对象将为None
。如果测试成功,测试函数应返回描述图像类型的字符串,如果失败,则返回
None
。
例:
>>> import imghdr
>>> imghdr.what('bass.gif')
'gif'