print with no newline
Paul Watson
pwatson at redlinepy.com
Fri Sep 3 11:10:14 EDT 2004
More information about the Python-list mailing list
Fri Sep 3 11:10:14 EDT 2004
- Previous message (by thread): Carriage Return Problem with Python on Windows
- Next message (by thread): print with no newline
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Peter Otten" <__peter__ at web.de> wrote in message news:ch9vhg$n35$01$1 at news.t-online.com... > 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? > > I thought that, too. It turns out that Python writes an additional newline > on exit if the softspace flag is set. So > > $ python -c "import sys; print 'here',; sys.stdout.softspace = False" > > tmp.txt > $ od -c tmp.txt > 0000000 h e r e > 0000004 > > is a viable if ugly workaround. > > Peter Many thanks for pointing out File.softspace attribute. However, I get mixed results when using it. I am sure there is some logic to it somewhere. It does not appear to control the end of line. The online doc says that it controls putting a space -before- another value. The File.softspace.__doc__ string appears to need review also. I think I am ready to use File.write() and move on. C:\src\projects\test1>type eoltest.py #!/usr/bin/env python import sys print 'here', 'and' sys.stdout.softspace = False print 'here', 'and' sys.stdout.softspace = True print 'here', 'and' sys.stdout.softspace = False print 'there', C:\src\projects\test1>eoltest.py here and here and here and there C:\src\projects\test1>eoltest.py >jjj C:\src\projects\test1>od -c -tx1 jjj 0000000 h e r e a n d \r \n h e r e a 68 65 72 65 20 61 6e 64 0d 0a 68 65 72 65 20 61 0000020 n d \r \n h e r e a n d \r \n t 6e 64 0d 0a 20 68 65 72 65 20 61 6e 64 0d 0a 74 0000040 h e r e \r \n 68 65 72 65 0d 0a 0000046 C:\src\projects\test1>python -c "import sys;print sys.stdout.softspace.__doc__" int(x[, base]) -> integer Convert a string or number to an integer, if possible. A floating point argument will be truncated towards zero (this does not include a string representation of a floating point number!) When converting a string, use the optional base. It is an error to supply a base when converting a non-string. If the argument is outside the integer range a long object will be returned instead.
- Previous message (by thread): Carriage Return Problem with Python on Windows
- Next message (by thread): print with no newline
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list