根据manual,raw_input
写入stdout。我有这个小程序(test_raw_input.py
):
# Test if rawinput writes to stdout or stderr
raw_input('This is my prompt > ')
无论我如何运行这个:
$ python test_raw_input.py > xxx
或
$ python test_raw_input.py 2> xxx
提示始终以xxx
结尾。为什么会这样?
答案 0 :(得分:11)
从你对KennyTM的回复中我得知你理解
python test_raw_input.py > xxx
这只是你不理解的第二种用法:
python test_raw_input.py 2> xxx
我认为您正在遇到此处所述的行为http://mail.python.org/pipermail/python-dev/2008-January/076446.html,这导致错误报告http://bugs.python.org/issue1927,其中有一条评论说它在去年9月尚未修复。
但是,有一种解决方法:来自https://groups.google.com/forum/?fromgroups=#!topic/chennaipy/R_VJYNdel-o,如果你
import readline
在使用raw_input
之前,行为将如您所愿。