ImageFile Module

The ImageFile module provides support functions for the image open and save functions.

In addition, it provides a Parser class which can be used to decode an image piece by piece (e.g. while receiving it over a network connection). This class implements the same consumer interface as the standard sgmllib and xmllib modules.

Example: Parse an image

from PIL import ImageFile

fp = open("lena.pgm", "rb")

p = ImageFile.Parser()

while 1:
    s =
    if not s:

im = p.close()"copy.jpg")


class PIL.ImageFile.Parser

Incremental image parser. This class implements the standard feed/close consumer interface.


(Consumer) Close the stream.

Returns:An image object.
Raises:IOError – If the parser failed to parse the image file either because it cannot be identified or cannot be decoded.

(Consumer) Feed data to the parser.

Parameters:data – A string buffer.
Raises:IOError – If the parser failed to parse the image file.

(Consumer) Reset the parser. Note that you can only call this method immediately after you’ve created a parser; parser instances cannot be reused.