imghdr —- 推测图像类型
imghdr
模块推测文件或字节流中的图像的类型。
imghdr
模块定义了以下类型:
imghdr.
what
(filename, h=None)- 测试包含在命名为 filename 的文件中的图像数据,并且返回描述此类图片的字符串。如果可选的 h 被提供, filename 将被忽略并且 h 包含将被测试的二进制流。
在 3.6 版更改: 接受一个 类路径对象。
接下来的图像类型是可识别的,返回值来自 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 新版功能: exr 和 webp 格式被添加。
你可以扩展此 imghdr
可以被追加的这个变量识别的文件格式的列表:
imghdr.
tests
- 执行单个测试的函数列表。每个函数都有两个参数:字节流和类似开放文件的对象。当
what()
用字节流调用时,类文件对象将是None
。
如果测试陈工,这个测试函数应当返回一个描述图像类型的字符串,否则返回 None
。
示例:
- >>> import imghdr
- >>> imghdr.what('bass.gif')
- 'gif'