\section{Standard module \sectcode{imghdr}} \stmodindex{imghdr} The \code{imghdr} module determines the type of image contained in a file or byte stream. The \code{imghdr} module defines the following function: \renewcommand{\indexsubitem}{(in module imghdr)} \begin{funcdesc}{what}{filename\optional{\, h}} Tests the image data contained in the file named by \var{filename}, and returns a string describing the image type. If optional \var{h} is provided, the \var{filename} is ignored and \var{h} is assumed to contain the byte stream to test. \end{funcdesc} The following image types are recognized, as listed below with the return value from \code{what}: \begin{enumerate} \item[``rgb''] SGI ImgLib Files \item[``gif''] GIF 87a and 89a Files \item[``pbm''] Portable Bitmap Files \item[``pgm''] Portable Graymap Files \item[``ppm''] Portable Pixmap Files \item[``tiff''] TIFF Files \item[``rast''] Sun Raster Files \item[``xbm''] X Bitmap Files \item[``jpeg''] JPEG data in JIFF format \end{enumerate} You can extend the list of file types \code{imghdr} can recognize by appending to this variable: \begin{datadesc}{tests} A list of functions performing the individual tests. Each function takes two arguments: the byte-stream and an open file-like object. When \code{what()} is called with a byte-stream, the file-like object will be \code{None}. The test function should return a string describing the image type if the test succeeded, or \code{None} if it failed. \end{datadesc} Example: \begin{verbatim} >>> import imghdr >>> imghdr.what('/tmp/bass.gif') 'gif' \end{verbatim}