我正在python 3.6中编写一个管道,该管道在内部执行几个基于命令行的软件。每个内部软件都使用subprocess.run()
执行。我想
stdout
重定向到一个单独的文件stderr
(以便用户可以看到),重定向到单独的文件并终止管道的执行。我喜欢的第一步:
with open("outfile", "wb", 0) as outfile:
subprocess.run(cmd, stdout=outfile, check=True)
我的问题1是是否有更好的方法可以实现相同目标?管道中有很多命令,我不想为每个命令打开单独的文件。
关于第二个问题,所以我不确定如何解决:一种方法是将stderr
写入文件,然后检查文件是否为空,但是我觉得这是错误的方法这样做。
任何建议都值得赞赏,