我在python脚本中运行一个shell命令,它使用子进程函数安装ruby和rubygems:
subprocess.call("yum install ruby rubygems -y 2>&1", shell=True)
然而,在这种情况下,2>&1
似乎没有像普通的bash脚本那样抑制输出。还有其他方法可以抑制输出吗?
答案 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重定向到管道。