少し異常な状況に遭遇しました。(教育/テスト目的で) 対話型コンソールのスクリプトを作成しようとしていますが、次のことを試しました。
$ 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 ソース コードで実際にどのように行われるかわかりませんでした。