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

示例:

  1. >>> import imghdr
  2. >>> imghdr.what('bass.gif')
  3. 'gif'