またはとは異なるファイル記述子にデータを出力するシェルコマンドラインがあります。stdout
stderr
私が試したとき:
p1 = subprocess.Popen("some cmdline", shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE)
a,b = p1.communicate()
a と b の両方が空で、上記の 2 つの python コマンドを実行しているときにコンソールに送信される o/p (キャッチしようとしていたログ) がいくつかあることがわかりました。
o/p をシェル コマンドラインから stdout または stderr にリダイレクトする必要があるかもしれないことは理解していますが、シェル コマンドラインによってログが送信される fd が毎回変更されるように見えます。
私の質問は、上記のシェル コマンドラインから o/p を a および / または b にキャプチャする方法です。