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 <[email protected]>
<http://bugs.python.org/issue25692>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com