print with no newline

Jp Calderone exarkun at
Fri Sep 3 16:54:03 CEST 2004

Paul Watson wrote:
> "Jp Calderone" <exarkun at> wrote in message
> news:mailman.2834.1094220495.5135.python-list at
>>Paul Watson wrote:
>>>I thought that using a comma at the end of a print statement would
> suppress
>>>printing of a newline.  Am I misunderstanding this feature?  How can I
> use
>>>print and not have a newline appended at the end?
>>   Print doesn't want to leave the *final* line without a newline.
>>sys.stdout.write() doesn't care if your shell prompt gets mixed in with
>>the last line of output.  You'll need to use the latter if that's what
>>you want.
>>exarkun at boson:~$ python -c "import sys; sys.stdout.write('here')"
>>hereexarkun at boson:~$
>>   Jp
> Ok, I can use sys.stdout.write().  Still, this comma at the end thing does
> not seem very consistent.  Before the last line, while it does suppress the
> newline, a space is still added to the output.  Why is that?  Yes, I have
> seen spaces added between items in the print statement and, while it is
> probably convenient at times, is frequently an annoyance.

   Basically, print is only meant to help people new to the language get 
started ;)  It often does what will make life easiest for someone who is 
just getting into things, but which is otherwise confusing, expected, 
special-casey, or otherwise undesirable.  I mean, the whole existence of 
the keyword "print" is an inconsistency, right?  One could quite 
reasonably expect print to be a function.


More information about the Python-list mailing list