How to write pbm file in Python 3?

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


On Sat, Oct 30, 2010 at 8:32 PM, André <andre.roberge at gmail.com> 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
> http://shootout.alioth.debian.org/u32/program.php?test=mandelbrot&lang=python&id=1
>
> 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.

Cheers,
Chris
--
http://blog.rebertia.com



More information about the Python-list mailing list