隐藏prexcept提示输出

时间:2015-12-16 23:45:11

标签: python ssh pexpect

我在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

-> 

1 个答案:

答案 0 :(得分:0)

pexcept prompt()是except()的一个特例,它识别大多数类型的提示标识符。 self.session.before正在处理最近使用的提示和要使用的提示之间的所有内容;换句话说,它是输入命令和输出。要摆脱重复的命令,只需删除字符串的第一个单词即可。我这样做是通过将字符串拆分成一个列表,然后将所有内容打印出来,除了列表的第一个元素。