2009-02-01 22 views
8

¿Existe un método incorporado en Python para ejecutar un comando del sistema sin mostrar el resultado? Solo quiero tomar el valor de retorno.En Python: cómo ejecutar el comando del sistema sin salida

Es importante que sea multiplataforma, por lo que redirigir la salida a/dev/null no funcionará en Windows, y viceversa. Sé que puedo verificar os.platform y construir la redirección, pero espero una solución integrada.

Respuesta

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

Puede redirigir la salida al archivo temporal y eliminarlo después. Pero también hay un método llamado popen que redirige la salida directamente a su programa para que no entre en pantalla.

Cuestiones relacionadas