我已经安装了NAPALM,并且一次只从一个设备上获取事实。但是,当我试图打开一个具有多个开关的文件并对它们进行迭代以从文件中的每个开关中获取事实时,我得到了一个错误。该错误似乎与循环遍历文件有关,而不是具有特定的主机名参数。代码如下:
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()我收到以下错误,命令:'NoneType‘对象没有'send_command’属性。我不确定如何让NAPALM遍历开关的文本文件,而不是一个特定的主机名。
发布于 2018-04-20 18:52:33
你永远无法连接到这个设备。调用device.open()或使用with关键字在上下文中输入:
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()我怀疑可能还有其他问题,比如line、user、password是字符串,而不是变量,但这似乎超出了您的问题的范围。
https://stackoverflow.com/questions/47079858
复制相似问题