Skip to main content
 首页 » 编程设计

Python 摄取带有 IP 的文本文件以进行 LAN 网络管理

2025年05月04日10zfyouxi

我正在尝试管理我控制的网络中的多个思科交换机。我只是想使用 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") 

请您参考如下方法:

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

除此之外,使用open 而不是file,并且您不需要读取行,您可以简单地迭代文件对象。很好的方法是将预期的东西提取到一个函数中:

def inspect_ip(ip): 
    ....