我想要创建一个脚本,它将同时从shell运行两个基于Linux的工具,并将它们的输出写到一个结果文件中?
我对诸如os.fork之类的事情做了一些研究,而且真的只是在寻求一些指导,我对所有的诚实都很无知。
我目前正在使用subprocess.call([command here])运行一个命令并将其输出到一个文件中,但我只是想知道如何能够同时运行两个工具,例如。
subprocess.call([command 1 >> results.txt])
subprocess.call([command 2 >> results.txt])这两种情况同时发生。
发布于 2014-09-22 09:24:02
首先,如果您想以Popen块的形式同时运行这些代码,则需要调用call而不是call,直到进程结束。此外,还可以使用stdout参数将输出管道输送到类似对象的文件中。
with open("results.txt", "w") as results:
p1 = subprocess.Popen(["command1"], stdout=results)
p2 = subprocess.Popen(["command2"], stdout=results)
p1.wait()
p2.wait()https://stackoverflow.com/questions/25970432
复制相似问题