On 09/02/2012 03:50 PM, gwhite wrote: > On Sep 2, 12:43 pm, Dave Angel <d...@davea.name> wrote: >> On 09/02/2012 03:34 PM, gwhite wrote: >> >>> <snip> >>> btw, I also thought the default "add a CR LF" to the end was odd too. >>> But at least that one had a simple way out. >> But it (print on Python 2.x) doesn't, unless you're stuck on Windows. >> And even then, you can prevent it by using a 'b' in the mode. > Yes, I'm using windows. What is "'b' in the mode?" The help for > print says: > > A ``'\n'`` character is written at the end, unless the ``print`` > statement ends with a comma. This is the only action if the statement > contains just the keyword ``print``. > > So I followed with a comma to stop the default CR LF insertion. >
You're correct; the best way to suppress the newline at the end of print is to use the trailing comma. But since print is for lines, it usually is a good default. If you don't want to get any extra characters, just use write(). It takes a string, and outputs exactly what it's given. I assumed you were complaining about the conversion of newline to carriage-return-newline, which is done by default on Windows, and can be suppressed by opening the file with "b" as the mode parameter. -- DaveA -- http://mail.python.org/mailman/listinfo/python-list