Piping popen stderr i stdout
Chcę wywoływać skrypty z katalogu (są to wykonywalne skrypty powłoki) za pośrednictwem Pythona.
jak na razie dobrze:
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
Teraz chcę: powiedzmy, że mam skrypt bashowy z funkcją startową. z którego dzwonię
echo „Coś”
Teraz chcę zobaczyć to echo na sys.stdout i kodzie wyjścia. Wierzę, że robisz to za pomocą .communicate (), ale mój nie działa tak, jak myślałem.
Co ja robię źle?
Każda pomoc jest bardzo ceniona