How to write pbm file in Python 3?

Chris Rebert clp2 at
Sun Oct 31 05:11:03 CET 2010

On Sat, Oct 30, 2010 at 8:32 PM, André <andre.roberge at> wrote:
> I'm trying to create pbm (portable bitmap) files using Python 3 and
> have run into a problem.   The example I am using is the Python 2
> Mandelbrot program found at
> When I run it using Python 2 with size=100, I get a file of size 1311
> bytes.  This file contains the correct image.
> When I run it using Python 3 with the same parameter (and replacing
> xrange by range - the only change suggested by 2to3), I get a file of
> size 1812 bytes; this file does not contain the right image.
> Any help would be much appreciated.

Have you tried changing all instances of chr(<whatever>) to
bytes([<whatever>]) ?
In Python 3, chr() always returns Unicode rather than a bytestring; I
suspect this might be the cause of your problem.

If my suggestion fixes things, then arguably 2to3 ought to have warned
about chr() and thus you should report this as a bug.


More information about the Python-list mailing list