在python中抑制shell命令的详细输出

时间:2013-08-30 05:09:14

标签: python bash

我在python脚本中运行一个shell命令,它使用子进程函数安装ruby和rubygems:

subprocess.call("yum install ruby rubygems -y  2>&1", shell=True)

然而,在这种情况下,2>&1似乎没有像普通的bash脚本那样抑制输出。还有其他方法可以抑制输出吗?

2 个答案:

答案 0 :(得分:2)

你忘了这个:

1>/dev/null

因此,结果脚本将是:

subprocess.call("yum install ruby rubygems -y  2>&1 1>/dev/null", shell=True)

答案 1 :(得分:1)

如果确实 需要执行此操作,请使用subprocess.Popen将stdout和stderr重定向到管道。