pxssh 不想 return 原始命令
pxssh don't want to return original command
我在服务器上使用 pxssh 来执行 运行 命令,但是我的代码打印出命令 I am 运行 a 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 代码中内置的功能,但是有没有办法根据具体情况覆盖打印命令?
不敢相信没有人知道官方 pxssh 答案。
我发现的方法是将输出分成多行,然后只打印你想要的那一行的输出。
这将删除所有其他内容,包括命令:
for line in stdout.split("\n"):
if "DONE:" in line:
print line
我在服务器上使用 pxssh 来执行 运行 命令,但是我的代码打印出命令 I am 运行 a 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 代码中内置的功能,但是有没有办法根据具体情况覆盖打印命令?
不敢相信没有人知道官方 pxssh 答案。
我发现的方法是将输出分成多行,然后只打印你想要的那一行的输出。
这将删除所有其他内容,包括命令:
for line in stdout.split("\n"):
if "DONE:" in line:
print line