Puedo ejecutar un comando de terminal usando os.system()
pero quiero capturar la salida de este comando. ¿Cómo puedo hacer esto?¿Cómo puedo obtener la salida del terminal en python?
Respuesta
>>> import subprocess
>>> cmd = [ 'echo', 'arg1', 'arg2' ]
>>> output = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0]
>>> print output
arg1 arg2
>>>
hay un error en el uso de la subprocess.PIPE. Por la enorme producción de este uso:
import subprocess
import tempfile
with tempfile.TemporaryFile() as tempf:
proc = subprocess.Popen(['echo', 'a', 'b'], stdout=tempf)
proc.wait()
tempf.seek(0)
print tempf.read()
Use el subprocess
module en su lugar.
pipe = Popen("pwd", shell=True, stdout=PIPE).stdout
output = pipe.read()
En Python 2.7, también puede usar la función check_output()
.
Puede utilizar Popen en subprocess
ya que sugieren.
con os
, que no se lo recomiendo, es como a continuación:
import os
a = os.popen('pwd').readlines()
Esto no funciona. Los objetos 'Popen' no tienen el método' readlines() '. –
Gracias por señalarlo, solo funciona para os.popen – gerry
'os.popen' está en desuso en favor de' subprocess.Popen'. –
La forma más sencilla es utilizar los comandos de la biblioteca
import commands
print commands.getstatusoutput('echo "test" | wc')
¿Dónde obtienes el módulo de comandos? No parece estar en pip para Python3. – Shule
- 1. borrando la salida del terminal en linux
- 2. contar el número de líneas en la salida del terminal
- 3. Cómo obtener salida del subproceso.Popen()
- 4. Obtener salida html del código python
- 5. Cómo obtener codificación de caracteres del terminal
- 6. ¿Cómo puedo aumentar la velocidad del cursor en la terminal?
- 7. Obtener el ancho del terminal en C?
- 8. ¿Hay alguna manera de asignar la salida del terminal a variable con python?
- 9. ¿Cómo obtener el tamaño del terminal en c para Windows?
- 10. obtener la posición del cursor de la terminal
- 11. Unicode de Python en la terminal del OS X
- 12. ¿Puedo obtener la excepción del bloque finally en python?
- 13. ¿Cómo obtener la salida del comando en NSIS?
- 14. Process.start: cómo obtener la salida?
- 15. Cómo obtener acceso al archivo y a la pantalla/terminal
- 16. Linux Terminal Display y Python
- 17. Script Bash que captura la salida en la terminal
- 18. Salida del subproceso Python en Windows?
- 19. Cómo obtener/establecer la ruta del directorio lógico en python
- 20. ¿Cómo puedo sangrar la salida de salida?
- 21. Python: ¿Cómo fuerzo la salida del archivo iso-8859-1?
- 22. eliminación de parpadeo del cursor en la terminal, ¿cómo?
- 23. Generar la alarma de audio en la terminal usando Python
- 24. ¿Borrando la pantalla del terminal?
- 25. Ver todo en la Terminal/símbolo del sistema después de la salida larga
- 26. Cómo ocultar salida del subproceso en Python 2.7
- 27. Obtener salida en vivo del proceso
- 28. En Python: cómo ejecutar el comando del sistema sin salida
- 29. ¿Cómo puedo borrar el terminal en Ruby?
- 30. ¿Cómo puedo obtener registros DNS para un dominio en Python?
eres mi salvador !!! ¡He estado buscando algo como esto por días! ¡gracias! –