Ios 循环使用凝固汽油弹查看开关列表

Ios 循环使用凝固汽油弹查看开关列表,ios,python-2.7,Ios,Python 2.7,我安装了凝固汽油弹,并努力从单个设备一次获取事实。然而,当我试图打开一个有多个开关的文件,并对其进行迭代以从文件中的每个开关获取事实时,我会得到一个错误。该错误似乎与在文件上循环有关,而不是具有特定的主机名参数。代码如下: from napalm import get_network_driver with open('fetch.txt') as f: for line in f: driver = get_network_driver('ios') optional_args

我安装了凝固汽油弹,并努力从单个设备一次获取事实。然而,当我试图打开一个有多个开关的文件,并对其进行迭代以从文件中的每个开关获取事实时,我会得到一个错误。该错误似乎与在文件上循环有关,而不是具有特定的主机名参数。代码如下:

from napalm import get_network_driver
with open('fetch.txt') as f:
for line in f:
    driver = get_network_driver('ios')
    optional_args = {'secret': 'secret!'}
    device = driver('line', 'user', 'password',optional_args=optional_args)
    print device.get_facts()

我收到以下错误,AttributeError:“非类型”对象没有属性“发送命令”。我不知道如何让凝固汽油弹循环通过开关的文本文件,而不是一个特定的主机名

您从未连接到设备。调用
device.open()
或使用
关键字在上下文中输入:

from napalm import get_network_driver
with open('fetch.txt') as f:
for line in f:
    driver = get_network_driver('ios')
    optional_args = {'secret': 'secret!'}
    device = driver('line', 'user', 'password',optional_args=optional_args)
    device.open()
    print device.get_facts()
或:

我怀疑可能还有其他问题,比如行、用户、密码是字符串而不是变量,但这似乎超出了您的问题范围

from napalm import get_network_driver
with open('fetch.txt') as f:
for line in f:
    driver = get_network_driver('ios')
    optional_args = {'secret': 'secret!'}
    with driver('line', 'user', 'password',optional_args=optional_args) as device:
        print device.get_facts()