【发布时间】:2020-10-08 07:55:10
【问题描述】:
对于一个项目,我想编写一个我想在项目的各个部分重用的代码。我需要执行一个命令,并且希望能够在控制台中打印或使命令静音之间进行选择。 我已经想出了这个,但我不确定它是否可以,以及“with”是否以这种方式正常工作:
import os
import sys
import subprocess
def run_subprocess(cmd, display_output : bool=False):
if display_output:
stdout = sys.stdout
else:
stdout = open(os.devnull, "w")
with stdout as s:
exit_code = subprocess.call([cmd], shell=True, stdout=s)
return exit_code
这样可以吗?我应该改变什么吗? 谢谢!
【问题讨论】:
标签: python subprocess stdout