Ayuda con subprocess.Popen stdout=subprocess.PIPE

Iniciado por rubia28, 3 Marzo 2021, 13:15 PM

0 Miembros y 1 Visitante están viendo este tema.

rubia28

Buenos días a todos,

Estoy empezando con la ejecución de programas en python y no consigo entender correctamente que es lo que realiza el programa siguiente..

Código (python) [Seleccionar]
import subprocess

# pipe.py

p = subprocess.Popen(["echo","Ejemplo de procesos en python.."], stdout=subprocess.PIPE)

print (p.communicate())


Por las pruebas de ejecución que he realizado a través de Linux, veo que el programa imprime por pantalla un mensaje en el terminal.. pero no consigo entender realmente que función hace stdout=subprocess.PIPE, ni porque a la hora de ejecutar el programa en el IDE imprime por pantalla (b'Ejemplo de procesos en python..\n', None). Entiendo que el primer argumento de Popen "echo" es un comando de Linux que imprime la salida por pantalla de la frase "Ejemplo de procesos en python..", pero no entiendo porque en la ejecución aparece el texto entre parentesís, la b en el inicio, el salto de línea \n y el None al final de la ejecución... He buscado información sobre esto pero no encuentro nada para poder entenderlo correctamente.. ¿Alguien puede ayudarme?

Mil gracias por la ayuda, saludos.

tincopasan

no voy a perder tiempo explicando algo que está documentado.
https://docs.python.org/es/3.9/library/subprocess.html
puse la referencia en español por las dudas no leas lo mínimo de inglés.