Python subprocess output to stdout

痴心易碎 提交于 2020-01-01 08:35:45

问题


I am using the subprocess module to run binaries from python.

To capture the output produced by the binary, I am using:

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)

What this does is print the output of the process AFTER it has finished executing. Is there anyway I can print this output to stdout WHILE the program is executing? I really need to see what the output is because these programs can run for a long time.

Thanks for the help.


回答1:


Simply don't send the output to a pipe:

proc = subprocess.Popen (command_args, shell=False)
proc.communicate()


来源:https://stackoverflow.com/questions/6062340/python-subprocess-output-to-stdout

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!