我正在使用子进程模块从python运行二进制文件。
要捕获二进制文件产生的输出,我正在使用:
proc = subprocess.Popen (command_args, shell=False, stdout=subprocess.PIPE)
out = proc.communicate()[0]
#print the output of the child process to stdout
print (out)
这样做是在完成执行后打印进程的输出。无论如何我可以在程序执行时将此输出打印到stdout吗?我真的需要看看输出是什么,因为这些程序可以运行很长时间。
感谢您的帮助。
答案 0 :(得分:12)
只是不要将输出发送到管道:
proc = subprocess.Popen (command_args, shell=False)
proc.communicate()