我的问题是——我需要从子进程获取输出,我使用以下代码来调用它——(随意忽略长参数。导入的东西是 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),程序继续没有问题。主程序可以等待某种输出以便继续吗?这是有道理的,因为我正在尝试与它进行通信......我可以在控制台中看到的文本与使其进入标准输出的实际文本之间有区别吗?我将如何收集写入控制台的文本?
谢谢!