Piping popen stderr e stdout

Eu quero chamar scripts de um diretório (eles são scripts shell executáveis) via python.

Por enquanto, tudo bem:

    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

Agora o que eu quero é: digamos que eu tenho um script bash com uma função de início. a partir do qual eu chamo

eco "Algo"

Agora quero ver esse eco no sys.stdout e no código de saída. Eu acredito que você faz isso com .communicate () mas o meu não funciona do jeito que eu pensei que seria.

O que estou fazendo de errado?

Qualquer ajuda é muito apreciada

questionAnswers(1)

yourAnswerToTheQuestion