在python中抑制shell命令的详细输出
我正在python脚本中运行一个shell命令,该脚本使用subprocess函数安装ruby和rubygems:在python中抑制shell命令的详细输出,python,bash,Python,Bash,我正在python脚本中运行一个shell命令,该脚本使用subprocess函数安装ruby和rubygems: subprocess.call("yum install ruby rubygems -y 2>&1", shell=True) 然而,在这种情况下,2>&1似乎不像普通bash脚本那样抑制输出。是否有其他方法抑制输出?如果确实需要执行此操作,请使用subprocess.Popen,将stdout和stderr重定向到管道。您忘记了这一点: 1>/dev/n
subprocess.call("yum install ruby rubygems -y 2>&1", shell=True)
然而,在这种情况下,2>&1
似乎不像普通bash脚本那样抑制输出。是否有其他方法抑制输出?如果确实需要执行此操作,请使用subprocess.Popen
,将stdout和stderr重定向到管道。您忘记了这一点:
1>/dev/null
因此,结果脚本将是:
subprocess.call("yum install ruby rubygems -y 2>&1 1>/dev/null", shell=True)
这是一种使用
子流程的糟糕方式。还有,真的吗?