少し異常な状況に遭遇しました。(教育/テスト目的で) 対話型コンソールのスクリプトを作成しようとしていますが、次のことを試しました。
$ python > /dev/null
Python 2.7.3 (v2.7.3:70274d53c1dd, Apr 9 2012, 20:52:43)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print 3
>>>
3印刷されていないので、明らかに他のすべてがオンになっていstderrます。ここまでは順調ですね。しかし、リダイレクトしstderrます:
$ python 2> /dev/null
>>> print 3
3
>>>
どちらの場合もプロンプトを出力するにはどうすればよいですか?
stdout編集:両方をリダイレクトするとstderr、まったく何も印刷されません。stdoutしたがって、Python は明らかにまたは のいずれかを「選択」してstderrいます。それが起こることは文書化されていますか?これが Python ソース コードで実際にどのように行われるかわかりませんでした。