小编典典

raw_input的奇怪重定向效果

python

根据手册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。为什么会这样呢?


阅读 222

收藏
2020-12-20

共1个答案

小编典典

从您对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,行为将符合您的预期。

2020-12-20