模仿cmd.exe从C程序输出到Python subprocess.PIPE?

时间:2016-07-12 09:40:21

标签: python windows cmd subprocess popen

作为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进行子处理然后调用目标程序?还有其他选择吗?

0 个答案:

没有答案