print with no newline
pwatson at redlinepy.com
Fri Sep 3 16:44:58 CEST 2004
"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
> you want.
> 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.
C:\src\projects\test1>python -c "print 'here',;print 'there'," >jjj
C:\src\projects\test1>od -c -tx1 jjj
0000000 h e r e t h e r e \r \n
68 65 72 65 20 74 68 65 72 65 0d 0a
More information about the Python-list