stdout と stderr を使用して、他のアプリケーションが提供するコマンドで使用されるエラー メッセージがあるかどうかを判断したいと考えています。以下のようなシステムコマンドで動作させることができます。
size_permission = Popen([ "ls" , "-l" , '/home/jnh.txt' ] , stdout=subprocess.PIPE , stderr=subprocess.PIPE)
ファイル /home/jnh.txt が存在しない場合、以下に示すように stderr に出力があります。
>>> for tst in size_permission.stderr:
... print tst
...
ls: /home/bta/jnh.txt: No such file or directory
次に、標準出力には期待される出力がありません。
>>> for tst in size_permission.stdout:
... print tst
...
今、私は他のアプリケーションのコマンドで同じ動作をしたいと思っています。試してみましたが、「他のアプリケーションコマンド」にエラーメッセージが表示されていても、 stderr ではなく stdout に常に出力がありますか? これを機能させる方法はありますか?
ありがとう