我希望以某种方式运行subprocess.Popen('echo 1; sleep 1; echo 1', shell=True, stdout=?)
,使输出(在运行时)出现,并且能够将其保存到管道或文件中
到目前为止,我运行时proc = subprocess.Popen('echo 1; sleep 1; echo 1', shell=True, stdout=PIPE, stderr=PIPE)
给出了第二个要求,然后我将打印out, err = proc.communicate()
的结果,但是使用communicate
是阻塞的,因此,如果Popen
需要很长时间,我无法显示输出,这是不可接受的
我是否可以将stdout=
字段留空(以启用控制台输出)并将输出复制到管道
更新。这与Python Popen: Write to stdout AND log file simultaneously不同,因为我希望能够在运行期间访问oputput,而那里的解决方案建议访问proc.stdout,它会一直阻塞到运行结束
目前没有回答
相关问题 更多 >
编程相关推荐