According to the manual, raw_input
writes to stdout. I have this little program (test_raw_input.py
):
# Test if rawinput writes to stdout or stderr
raw_input('This is my prompt > ')
And no matter how I run this:
$ python test_raw_input.py > xxx
or
$ python test_raw_input.py 2> xxx
The prompt always ends up in xxx
. Why is this happening?
From your response to KennyTM I gather you understand
python test_raw_input.py > xxx
and it's only the second usage that you don't understand:
python test_raw_input.py 2> xxx
I think you are running into the behavior described here http://mail.python.org/pipermail/python-dev/2008-January/076446.html, which resulted in bug report http://bugs.python.org/issue1927, which has a comment saying it wasn't fixed yet last september.
However, there is a workaround: from https://groups.google.com/forum/?fromgroups=#!topic/chennaipy/R_VJYNdel-o, if you
import readline
before using raw_input
, the behavior will be as you expect.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With