如何通过Python脚本找出状态为(down down)的网络接口?
编写Python脚本筛选状态为down down的交换机接口
需求说明
- 处理交换机
show int description | section ABC命令的输出内容 - 检查每个接口状态:
- 状态为
up up或up down时不执行操作 - 状态为
down down时,打印对应接口名称
- 状态为
示例输入
Switch# show int description | section ABC Hu1/0/14 up up ABC Hu1/0/30 up down ABC Hu1/0/31 down down ABC
Python实现脚本
# 模拟设备命令输出(实际场景可通过SSH库直接读取设备返回内容) device_output = """Switch# show int description | section ABC Hu1/0/14 up up ABC Hu1/0/30 up down ABC Hu1/0/31 down down ABC""" # 按行拆分输出内容 line_list = device_output.split('\n') # 遍历每一行,跳过命令提示符行 for line in line_list[1:]: # 按空白字符拆分,自动过滤多余空格 line_parts = line.split() if len(line_parts) >= 3: intf_name = line_parts[0] status_1 = line_parts[1] status_2 = line_parts[2] # 判断是否为down down状态 if status_1 == 'down' and status_2 == 'down': print(intf_name)
脚本执行结果
Hu1/0/31
代码说明
- 示例中用字符串模拟设备输出,实际使用时可通过
paramiko等SSH工具直接连接交换机获取命令返回值 - 拆分内容后跳过第一行的命令行本身,避免无效数据干扰
- 用
split()处理每行内容,自动压缩连续空白字符,精准提取接口名称和状态字段 - 通过状态判断逻辑,只输出符合
down down条件的接口名称
内容的提问来源于stack exchange,提问作者Tariq
相关产品推荐
相关产品推荐

