pxssh不想返回原始命令

时间:2016-11-29 13:17:48

标签: python pexpect 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))

我假设这是内置于sendline / prompt的pxssh代码中的功能,但有没有办法根据具体情况覆盖打印命令?

1 个答案:

答案 0 :(得分:0)

无法相信没有人知道官方的pxssh答案。

我找到的方法是将输出分割成线条,然后只打印所需线条的输出。

这将删除所有其他内容,包括命令:

for line in stdout.split("\n"):
        if "DONE:" in line:
            print line