Windowsで次のpythonコードを実行すると:
import subprocess
subprocess.Popen( [ 'python', 'foo' ], shell = True ).communicate()
予想どおり、標準出力にエラーが書き込まれました。
python: can't open file 'foo': [Errno 2] No such file or directory
しかし、Linux (ubuntu、OSX - any) で同じコードを実行すると、このテキストの代わりにインタラクティブな python REPL が開始されました! このような:
user@debian:~/Documents$ python test.py
Python 2.7.3 (default, Jab 2 2013, 16:53:07)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information
>>>
なぜそのような奇妙な行動をするのですか?引数 ('foo') を指定して Python インタープリターを実行すると、すべてのプラットフォームで REPL モードではなく、評価モードにする必要があります。