在我的脚本中,我将stdout重定向到一个文件,如下所示:
with open(logFileName, 'w') as fp:
proc = Popen([myexe], stdout=fp)
# proc.wait() # I don't want to block until process completes.
我知道fp将在流程完成之前关闭。 因此,我的程序没有按预期工作
如果我执行wait(),它将工作,但我不想阻塞
我想知道做这件事的正确方法是什么。单独的线程是唯一的方法吗?令人惊讶的是,我无法通过谷歌找到答案,这一要求应该是非常普遍的
更新:我发现它不起作用的原因不同。即使在进程完成之前文件对象也会关闭,它仍然可以正常工作。仍然不确定这样做是否正确
使用子流程:
相关问题 更多 >
编程相关推荐