使用raw_input进行奇怪的重定向效果

时间:2012-12-23 08:46:21

标签: python

根据manualraw_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结尾。为什么会这样?

1 个答案:

答案 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之前,行为将如您所愿。