0

我是python的新手。我有代码可以使用 netmiko 在多个交换机上运行多个“显示命令”,当一切都在循环中时,它工作正常。但是,当我想通过将多个“显示命令”的输出分配为变量并打印它来获取循环外的多个“显示命令”时,只打印其中一个输出。

S1 = {
    'device_type': 'cisco_ios',
    'ip': '192.168.0.56',
    'username': 'admin',
    'password': 'admin'
    }

S2= {
    'device_type': 'cisco_ios',
    'ip': '192.168.0.57',
    'username': 'admin',
    'password': 'admin'
    }

all_devices = [S1,S2]


for devices in all_devices:
    print("\nLogging into the switch...")
    net_connect = ConnectHandler(**devices)
    net_connect.enable()
    cmd = ["show vlan brief", "\n","\n","show ip interface brief"]
    for show in cmd:
        output=net_connect.send_command(show)
        y = output

print(y)
4

1 回答 1

0

试试这个:

S1 = {
    'device_type': 'cisco_ios',
    'ip': '192.168.0.56',
    'username': 'admin',
    'password': 'admin'
    }

S2= {
    'device_type': 'cisco_ios',
    'ip': '192.168.0.57',
    'username': 'admin',
    'password': 'admin'
    }

all_devices = [S1,S2]

y = []

for devices in all_devices:
    print("\nLogging into the switch...")
    net_connect = ConnectHandler(**devices)
    net_connect.enable()
    cmd = ["show vlan brief", "\n","\n","show ip interface brief"]
    for show in cmd:
        output=net_connect.send_command(show)
        y.append(output)

for x in y:
    print(x)
于 2020-08-14T10:47:51.380 回答