Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 5, 2020 11:15:11

Anatolich
Зарегистрирован: 2017-10-31
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

subprocess | plink.exe

Добрый день.
Прошу помочь с выводом результата выполнения команды с помощью 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
в PyCharm-е подсвечивается красным.


https://photos.app.goo.gl/bnkEPHtQin8S6cj7A

Отредактировано Anatolich (Дек. 5, 2020 11:28:44)

Офлайн

#2 Дек. 5, 2020 12:05:17

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

subprocess | plink.exe

сейчас линухи под рукой нет, что-бы протестить, но возможно “плюется” в stderr, попробуйте его почитать через subprocess.PIPE



Офлайн

#3 Дек. 5, 2020 15:33:25

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9715
Репутация: +  842  -
Профиль   Отправить e-mail  

subprocess | plink.exe

Вывод time нельзя перенаправить, есть обходной путь

{ time sleep 3; } 2>file.txt

stack overflow. варианты



Отредактировано py.user.next (Дек. 5, 2020 15:34:01)

Офлайн

#4 Дек. 5, 2020 15:58:22

Anatolich
Зарегистрирован: 2017-10-31
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

subprocess | plink.exe

Перенаправить вывод получилось в файл на удаленном хосте, от части это хорошо, но хотелось бы его обработать subprocess-ом на локальном ПК под Windows.
Получить вывод от обеих команд и обработать его.

 uname -n
 time

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version