pxssh не хочет возвращать оригинальную команду

Я использую pxssh для запуска команд на сервере, однако код, который я имею, печатает команду, которую я выполняю, в поле wx.multiline; Однако я не хочу печатать команду, я запускаю только ответ.

Есть ли способ распечатать только вывод команды, используя pxssh?

def runCmd(self, command):
    try:
        s = pxssh.pxssh()
        s.login("127.0.0.1", "root", sshPass)
        s.sendline(command)
        s.prompt()
        stdout = s.before
        s.logout()
        return stdout
    except pxssh.ExceptionPxssh as e:
        self.progressBox.AppendText(str(e))

Я предполагаю, что это функциональность, встроенная в код pxssh для sendline / prompt, но есть ли способ переопределить печать команды в каждом конкретном случае?

1 ответ

Решение

Не могу поверить, что никто не знал официального ответа на этот вопрос.

Обходной путь, который я нашел, состоял в том, чтобы разбить вывод на строки, а затем распечатать только вывод нужной вам строки.

Это удаляет все остальные вещи, включая команду:

for line in stdout.split("\n"):
        if "DONE:" in line:
            print line
Другие вопросы по тегам