10

マニュアルによると、標準出力にraw_input書き込みます。私はこの小さなプログラムを持っています ( 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。なぜこうなった?

4

1 に答える 1

12

KennyTMへのあなたの反応から、あなたは理解していると思います

python test_raw_input.py > xxx

そして、あなたが理解していないのは2番目の使用法だけです:

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は、動作は期待どおりになります。

于 2012-12-23T09:06:54.933 に答える