print with no newline
exarkun at divmod.com
Fri Sep 3 16:54:03 CEST 2004
Paul Watson wrote:
> "Jp Calderone" <exarkun at divmod.com> wrote in message
> news:mailman.2834.1094220495.5135.python-list at python.org...
>>Paul Watson wrote:
>>>I thought that using a comma at the end of a print statement would
>>>printing of a newline. Am I misunderstanding this feature? How can I
>>>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
>>exarkun at boson:~$ python -c "import sys; sys.stdout.write('here')"
>>hereexarkun at boson:~$
> 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