我想用Python语言编写一个程序,我告诉运行.exe文件。当运行这个.exe文件,它吐出了大量的数据,我需要打印出来的画面一定行。我敢肯定,我需要使用subprocess.popen或类似的东西,但我是新来的子过程,并没有任何线索。任何人有一个简单的方法,我得到这个工作?

有帮助吗?

解决方案

像这样:

import subprocess
process = subprocess.Popen(["yourcommand"], stdout=subprocess.PIPE)
result = process.communicate()[0]

其他提示

@保罗的解决方案是完美的,如果你有兴趣在这个过程中完成执行后打印输出。如果您想查询输出,而正在运行的进程,你必须做这种方式:

process = subprocess.Popen(cmd, stdout=subprocess.PIPE)

while True:
    out = process.stdout.readline(1)
    if out == '' and process.poll() != None:
        break
    if out.startswith('myline'):
        sys.stdout.write(out)
        sys.stdout.flush()
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top