【问题标题】:Hide prexcept prompt output隐藏prexcept提示输出
【发布时间】:2015-12-17 14:47:27
【问题描述】:

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

-> 

【问题讨论】:

    标签: python ssh pexpect


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2016-05-10
      • 1970-01-01
      • 2021-07-08
      • 2012-05-30
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 2019-07-29
      相关资源
      最近更新 更多