[New-bugs-announce] [issue25692] input function outputs prompt to stderr

Jason R. Coombs report at bugs.python.org
Sat Nov 21 17:01:43 EST 2015


New submission from Jason R. Coombs:

The built-in function 'input' appears to be sending the prompt to stderr instead of stdout, as the docs state it should.

$ python3.5 -c "print('stdout'); import sys; print('stderr', file=sys.stderr); input('foo')" 2> errors.txt
stdout
hello
$ cat errors.txt
stderr
foo

I've replicated this behavior in both Python 3.4 on Linux and Python 3.5 and 2.7 on OS X. Here's the 2.7 test/output:

$ python2.7 -c "from __future__ import print_function; print('stdout'); import sys; print('stderr', file=sys.stderr); raw_input('foo')" 2> errors.txt
stdout
hello
$ cat errors.txt 
stderr
foo

I believe the stated behavior (outputting the prompt to stdout) is the proper behavior.

I figure I must be doing something wrong here, because it seems bizarre to me that this discrepancy hasn't been discovered before.

----------
messages: 255072
nosy: jason.coombs
priority: normal
severity: normal
status: open
title: input function outputs prompt to stderr
versions: Python 2.7, Python 3.3, Python 3.4, Python 3.5, Python 3.6

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue25692>
_______________________________________


More information about the New-bugs-announce mailing list