隐藏 prexcept 提示输出

Hide prexcept prompt output

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

-> 

pexcept prompt() 是 except() 的特例,可以识别大多数类型的提示标识符。 self.session.before 正在获取最近使用的提示和要使用的提示之间的所有内容;换句话说,它接受输入的命令和输出。要去掉重复的命令,只需去掉字符串的第一个单词。为此,我将字符串拆分为一个列表,然后打印出除列表第一个元素之外的所有内容。