◐ Shell
clean mode source ↗

Message 167288 - Python tracker

On Fri, Aug 3, 2012 at 5:16 AM, STINNER Victor <report@bugs.python.org> wrote:

>> I wonder why "print(1, file=sys.stderr)" returns '1' instead of '1\n'.
>
> I suppose that you mean "returns '1\n' instead of '1'". 

No, sorry for my lame wording.

In the test I submitted, printing to stdout with 
    
    "print(1, file=sys.stdout);print(2, file=sys.stdout)"

outputs

    "1\r\n2\r\n"

but printing to stderr with 

    "print(1, file=sys.stderr);print(2, file=sys.stderr)" 

outputs

    "1\r\n2"   <- no '\r\n' at the end


I wondered why, but this is not specific to Python 3. 
With Python 2.7 

    print >>sys.stderr, 1

doesn't output '\r\n' at the end also. So I think this may 
not be a bug.