我有一个写入标准输出和可能标准错误的程序。我想从 python 运行它,捕获标准输出和标准错误。我的代码如下所示:
from subprocess import *
p = Popen( exe, shell=TRUE, stdout=PIPE, stderr=PIPE )
rtrncode = p.wait()
对于几个程序,这很好用,但是当我添加一个新程序时,新程序会永远挂起。如果我删除stdout=PIPE
,程序会将其输出写入控制台并完成,一切都很好。如何确定导致挂起的原因?
在 Windows XP 上使用 python 2.5。该程序不从标准输入读取,也没有任何类型的用户输入(即“按下键”)。