2017-07-26 40 views
0
import pexpect # importing the python-expect 
child = pexpect.spawn ('telnet x.x.x.x y') 
child.expect ('Hit \[Enter\] to boot immediately\, or space bar for command prompt.', 300) 
child.send ('\x20') 
if child.expect ('loader>' or 'OK ', 10): 
    child.sendline ('boot -s') 

我想在这里做的是:Pexpect的期望不止一个模式

  • 自动化登录到单用户模式,通过解析引导顺序的设备。
  • 通过控制台端口使用终端服务器连接到设备。 $我使用pexpect作为引导顺序是单行输出。
  • pexpect单独为'loader>'或'OK'工作&执行下一行但不在一起。

回答

0

按照manual

expect(pattern, timeout=-1, searchwindowsize=-1, async=False)

此举旨在通过流直到一个模式匹配。该模式过载并可能需要几个 类型。 该模式可以是StringType,EOF,编译过的re或任何这些类型的列表。字符串将被编译为重新类型的 。 这将索引返回到模式列表。如果该模式不是列表,则返回 成功匹配时的索引0。
[...]