Piping popen stderr y stdout

Quiero llamar scripts desde un directorio (son scripts de shell ejecutables) a través de python.

hasta ahora tan bueno:

    for script in sorted(os.listdir(initdir), reverse=reverse):
        if script.endswith('.*~') or script == 'README':
             continue
        if os.access(script, os.X_OK):
            try:
                execute = os.path.abspath(script)
                sp.Popen((execute, 'stop' if reverse else 'start'),
                         stdin=None, stderr=sp.PIPE,
                         stdout=sp.stderr, shell=True).communicate()
            except:
                raise

Ahora lo que quiero es: digamos que tengo un script de bash con una función de inicio. de donde llamo

echo "algo"

Ahora quiero ver ese eco en sys.stdout y el código de salida. Creo que haces esto con .communicate () pero el mío no funciona como pensé.

¿Qué estoy haciendo mal?

Cualquier ayuda es muy apreciada

Respuestas a la pregunta(1)

Su respuesta a la pregunta