我在Python 2.7中编写一个程序,它创建一个SSH连接并输出输入的命令的结果。它工作正常,但我想隐藏提示输出,或者有没有办法消除提示的需要?
这是我负责输出的代码:
if cmd == '!':
print ("Connection terminated.")
self.session.logout()
sys.exit(0)
else:
self.session.sendline(cmd)
with suppress_stdout():
self.session.prompt()
return self.session.before
示例输出(我想摆脱第二个' ls'):
-> ls
ls
bin dev initrd.img lib32 lost+found opt run sys var
boot etc initrd.img.old lib64 media proc sbin tmp vmlinuz
cdrom home lib libx32 mnt root srv usr vmlinuz.old
->
答案 0 :(得分:0)
pexcept prompt()是except()的一个特例,它识别大多数类型的提示标识符。 self.session.before正在处理最近使用的提示和要使用的提示之间的所有内容;换句话说,它是输入命令和输出。要摆脱重复的命令,只需删除字符串的第一个单词即可。我这样做是通过将字符串拆分成一个列表,然后将所有内容打印出来,除了列表的第一个元素。