The BMP file format

To demonstrate handling of binary files, we need an interesting binary data format. BMP is an image file format that contains Device Independent Bitmaps. It's simple enough that we can make a BMP file writer from scratch.  Place the following code in a module called bmp.py:

# bmp.py"""A module for dealing with BMP bitmap image files."""def write_grayscale(filename, pixels):    """Creates and writes a grayscale BMP file.    Args:        filename: The name of the BMP file to me created.        pixels: A rectangular image stored as a sequence of rows.                Each row must be an iterable series of integers in the                range 0-255.    Raises:        OSError: If the file couldn't be written.    """    height = len(pixels)    width = len(pixels[0]) with open(filename, 'wb') as ...

Get The Python Apprentice now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.