【发布时间】:2009-02-01 09:20:45
【问题描述】:
Python 中是否有内置方法可以在不显示输出的情况下执行系统命令?我只想获取返回值。
跨平台很重要,因此仅将输出重定向到 /dev/null 在 Windows 上不起作用,反之亦然。我知道我可以检查 os.platform 并自己构建重定向,但我希望有一个内置的解决方案。
【问题讨论】:
标签: python
Python 中是否有内置方法可以在不显示输出的情况下执行系统命令?我只想获取返回值。
跨平台很重要,因此仅将输出重定向到 /dev/null 在 Windows 上不起作用,反之亦然。我知道我可以检查 os.platform 并自己构建重定向,但我希望有一个内置的解决方案。
【问题讨论】:
标签: python
import os
import subprocess
subprocess.call(["ls", "-l"], stdout=open(os.devnull, "w"), stderr=subprocess.STDOUT)
【讨论】:
您可以将输出重定向到临时文件,然后将其删除。但是还有一种叫做 popen 的方法,可以将输出直接重定向到您的程序,这样它就不会出现在屏幕上。
【讨论】: