私の問題はこれです-サブプロセスから出力を取得する必要があり、それを呼び出すために次のコードを使用しています-(長い引数は無視してください。インポートするのはstdout = subprocess.PIPEです)
(stdout, stderr) = subprocess.Popen([self.ChapterToolPath, "-x", book.xmlPath , "-a", book.aacPath , "-o", book.outputPath+ "/" + fileName + ".m4b"], stdout= subprocess.PIPE).communicate()
print stdout
以下の回答のおかげで、プログラムの出力を取得することができましたが、それでも、何かを取得する前にプロセスが終了するのを待つことになります。興味深いのは、私のデバッガーでは、コンソールにあらゆる種類のテキストが飛んでいて、それがすべて無視されていることです。しかし、何かが黒でコンソールに書き込まれる瞬間(私はpycharmを使用しています)、プログラムは問題なく続行されます。メインプログラムは、先に進むために何らかの出力を待っている可能性がありますか?私はそれと通信しようとしているので、これは理にかなっています....コンソールに表示されるテキストとstdoutに到達する実際のテキストに違いはありますか?そして、コンソールに書き込まれたテキストをどのように収集しますか?
ありがとう!