在Python中 - 如何执行没有输出的系统命令

时间:2009-02-01 09:20:46

标签: python

Python中是否有内置方法来执行系统命令而不显示输出?我只想获取返回值。

重要的是它是跨平台的,因此将输出重定向到/ dev / null将无法在Windows上运行,反之亦然。我知道我可以检查os.platform并自己构建重定向,但我希望有一个内置的解决方案。

2 个答案:

答案 0 :(得分:18)

import os
import subprocess
subprocess.call(["ls", "-l"], stdout=open(os.devnull, "w"), stderr=subprocess.STDOUT)

答案 1 :(得分:2)

您可以将输出重定向到临时文件,然后将其删除。但是还有一种名为popen的方法可以直接将输出重定向到您的程序,因此它不会出现在屏幕上。

相关问题