print with no newline
b.niemann at betternet.de
Fri Sep 3 17:03:21 CEST 2004
You are not the only one, who feels that the behaviour of print is not
optimal. Thta's why it is on the list of things to be dropped with
Python 3. See PEP 3000 or "Python Regrets"
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.
> 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