python popen с s sh не захватывает вывод - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь использовать popen для взаимодействия с s sh. Но похоже, что нет способа перенаправить stdoutput

proc = subprocess.Popen(["/usr/bin/ssh","192.168.254.1", "user"], stdout=PIPE, stdin=PIPE, stderr=PIPE, shell=False, bufsize=10000)
out, err = proc.communicate()

Когда я запускаю скрипт, и вывод, и ошибка являются пустыми, а командная строка показывает

user@192.168.254.1's password:

что я делаю не так? Это происходит точно так же, когда я устанавливаю shell = True. Также, прежде чем люди скажут мне использовать pexpect для pxs sh, я попробовал их, и они не будут работать для моего приложения. Я запускаю этот сценарий внутри службы демона, и pexpect принципиально по-разному обрабатывает управляющие коды / управляющие символы T100 и linux, а в некоторых воспроизводимых экземплярах теряет часть потока байтов.

Любая помощь приветствуется. Спасибо

...