Трубопроводы попен стдерр и стдоут
Я хочу вызывать скрипты из каталога (они являются исполняемыми скриптами оболочки) через python.
Все идет нормально:
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
Теперь то, что я хочу: допустим, у меня есть bash-скрипт с функцией start. из которого я звоню
echo "Something"
Теперь я хочу увидеть это эхо на sys.stdout и код выхода. Я полагаю, что вы делаете это с .communicate (), но мой не работает так, как я думал.
Что я делаю неправильно?
Любая помощь высоко ценится