我正在使用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代码中的功能,但有没有办法根据具体情况覆盖打印命令?
答案 0 :(得分:0)
无法相信没有人知道官方的pxssh答案。
我找到的方法是将输出分割成线条,然后只打印所需线条的输出。
这将删除所有其他内容,包括命令:
for line in stdout.split("\n"):
if "DONE:" in line:
print line