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

在Python中-如何在没有输出的情况下执行系统命令,python,Python,Python中是否有内置的方法来执行系统命令而不显示输出?我只想获取返回值 它必须是跨平台的,因此仅将输出重定向到/dev/null在Windows上不起作用,反之亦然。我知道我可以自己检查os.platform并构建重定向,但我希望有一个内置的解决方案。您可以将输出重定向到临时文件,然后将其删除。但也有一种称为popen的方法,它将输出直接重定向到您的程序,这样它就不会出现在屏幕上 import os import subprocess subprocess.call(["ls", "-l"]

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


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

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

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