【问题标题】:pxssh don't want to return original commandpxssh 不想返回原始命令
【发布时间】:2017-04-13 12:14:09
【问题描述】:

我正在使用 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 代码中内置的功能,但有没有办法根据具体情况覆盖打印命令?

【问题讨论】:

    标签: python pexpect pxssh


    【解决方案1】:

    不敢相信没有人知道 pxssh 的官方答案。

    我发现的方法是将输出分成几行,然后只打印你想要的那一行的输出。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-29
      • 2023-03-23
      • 1970-01-01
      • 2020-04-17
      • 1970-01-01
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多