我正在尝试管理我控制的网络中的几个cisco交换机。我只是想使用pexpect登录每一个来检查正常运行时间,只是每天早上都要注意设备没有重启。
我有pexpect部分工作,但我想在文本文件中列出设备的所有IP,然后使用python脚本,让它摄取这些ip,并通过一,登录设备并执行show version命令。也许,如果我将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")
答案 0 :(得分:0)
for ip in tt:
child = pexpect.spawn("telnet %s" % ip)
...
除此之外,使用open
而不是file
,并且您不需要读取行,您可以简单地迭代文件对象。不错的是将pexpect东西提取到函数中:
def inspect_ip(ip):
....