String printing behavior?

Ted Drain ted.drain at jpl.nasa.gov
Wed Mar 1 17:42:07 EST 2000


Hi all,
I've got a question about the string printing behavior.  If I define a 
functions as:

>>> def foo():
...    return "line1\nline2"

>>> foo()
'line1\013line2'

>>> print foo()
line1
line2

>>>

It seems to me that the default printing behavior for strings should match
behavior of the print routine.  I realize that some people may want to
see embedded control codes, but I would advocate a seperate method for
printing raw byte sequences.  

We are using the python interactive prompt as a pseudo-matlab like user 
interface and the current printing behavior is very confusing to users.
It also means that functions that return text (like help routines)
must print the string rather than returning it.  Returning the string
is much more flexible because it allows the string to be captured 
easily and redirected.

Any thoughts?

Ted

-- 
Ted Drain   Jet Propulsion Laboratory    Ted.Drain at jpl.nasa.gov



More information about the Python-list mailing list