imghdr
— Determinar el tipo de imagen¶
Código fuente: Lib/imghdr.py
Deprecated since version 3.11, will be removed in version 3.13: El módulo imghdr
está obsoleto (ver PEP 594 para detalles y alternativas).
El módulo imghdr
determina el tipo de imagen contenida en un archivo o secuencia de bytes.
El módulo imghdr
define la siguiente función:
- imghdr.what(file, h=None)¶
Prueba los datos de imagen contenidos en el archivo nombrado por file y retorna una cadena que describe el tipo de imagen. Si se proporciona h, se ignora el argumento file y se supone que h contiene el flujo de bytes para probar.
Distinto en la versión 3.6: Acepta un path-like object.
Se reconocen los siguientes tipos de imagen, enumerados a continuación con el valor devuelto de what()
:
Valor |
Formato de imagen |
---|---|
|
Archivos SGI ImgLib |
|
Archivos GIF 87a y 89a |
|
Archivos Portable Bitmap |
|
Archivos Portable Graymap |
|
Archivos Portable Pixmap |
|
Archivos TIFF |
|
Archivos Sun Raster |
|
Archivos X Bitmap |
|
Datos JPEG en formatos JFIF o Exif |
|
Archivos BMP |
|
Portable Network Graphics |
|
Archivos WebP |
|
Archivos OpenEXR |
Added in version 3.5: Se añadieron los formatos exr y webp.
Puede ampliar la lista de tipos de archivo que imghdr
puede reconocer agregándolos a esta variable:
- imghdr.tests¶
Una lista de funciones que realizan las comprobaciones individuales. Cada función toma dos argumentos: la secuencia de bytes y un objeto abierto de tipo archivo. Cuando
what()
es llamada con una secuencia de bytes, el objeto de tipo archivo seráNone
.La función de comprobación debería retornar una cadena de caracteres que describa el tipo de imagen si la comprobación se realizó correctamente o “”Ninguno”” si ha fallado.
Ejemplo:
>>> import imghdr
>>> imghdr.what('bass.gif')
'gif'