Форум сайта python.su
Добрый день.
Прошу помочь с выводом результата выполнения команды с помощью subprocess.
Запускаю команды на удаленной Linux машине из под Windows с помощью plink.exe
import subprocess import os PSS = "1234" try: output = subprocess.run('"c:\Program Files (x86)\PuTTY\plink.exe" -ssh -batch 10.255.206.4 -l a.user -pw '+PSS+' uname -n; time',stdout=subprocess.PIPE) except subprocess.CalledProcessError as e: print("#1#"+e.output) print("#2#"+str(output.stdout, 'utf-8'))
uname -n
time
time
Отредактировано Anatolich (Дек. 5, 2020 11:28:44)
Офлайн
сейчас линухи под рукой нет, что-бы протестить, но возможно “плюется” в stderr, попробуйте его почитать через subprocess.PIPE
Офлайн
Вывод time нельзя перенаправить, есть обходной путь
{ time sleep 3; } 2>file.txt
Отредактировано py.user.next (Дек. 5, 2020 15:34:01)
Офлайн
Перенаправить вывод получилось в файл на удаленном хосте, от части это хорошо, но хотелось бы его обработать subprocess-ом на локальном ПК под Windows.
Получить вывод от обеих команд и обработать его.
uname -n
time
Офлайн