2

我正在尝试管理我控制的网络中的多个 cisco 交换机。我只是想使用 pexpect 登录每个设备以检查正常运行时间,只是为了每天早上留意设备没有重新启动。

我有 pexpect 部分工作,但我想在一个文本文件中列出设备的所有 IP,然后使用 python 脚本,让它摄取这些 IP,然后一个接一个地登录到设备并显示版本命令。也许,如果我将 pexpect 命令定义为一个模块,这将起作用,但不知道如何做到这一点。我是 python 新手并试图找到答案,但经过多次谷歌搜索后,空无一物,所以想在这里尝试。

下面是我尝试自动执行此操作,但它不起作用。

这是我到目前为止所拥有的。

import pexexpect
list=raw_input('Type in name of text file:' )
fo=file(list, 'r')
tt=fo.readlines()
fo.close()

for ip in tt:
    load(ip) 

child=pexpect.spawn("telnet ip") 
child.expect("password:*")
child.sendline("mypassword")
4

1 回答 1

0
for ip in tt:
    child = pexpect.spawn("telnet %s" % ip)
    ...

除此之外,使用opennot file,您不需要阅读这些行,您可以简单地迭代文件对象。好的是将 pexpect 的东西提取到一个函数中:

def inspect_ip(ip):
    ....
于 2012-05-15T00:27:09.963 回答