作为old question的附加内容:我有一个问题。当我运行cmd.exe并执行目标程序时,输出会很好地打印到cmd,最后会以代码0退出,
由于程序不断打印到我的cmd.exe标准输出,为什么我不能在Python中模仿这种行为?
以下代码是我如何解析目标可执行文件中的行。
res = subprocess.Popen(command, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, bufsize=1)
with res.stdout:
for line in iter(res.stdout.readline, b''):
print line
res.wait()
python解析甚至不会读取与cmd.exe相同的内容! 它不打印最后5-10行(告诉我过程完成的那些)。
我是否必须对popen cmd.exe进行子处理然后调用目标程序?还有其他选择吗?