我有以下Python代码:
#!/usr/bin/python
import netsnmp
session = netsnmp.Session(DestHost='_destination address_', Version=2, Community='_string_')
vars = netsnmp.VarList(netsnmp.Varbind('ifIndex',), netsnmp.Varbind('ifDescr',), netsnmp.Varbind('ifOperStatus',))
print(session.getbulk(0, 48, vars))
session.getbulk
的结果如下:
('1', 'Vlan1', '1', '2', 'Vlan2', '2', '10101', 'GigabitEthernet0/1', '2', '10102',
'GigabitEthernet0/2', '2', '10103', 'GigabitEthernet0/3', '2', '10104',
'GigabitEthernet0/4', '2', '10105', 'GigabitEthernet0/5', '2', '10106',
'GigabitEthernet0/6', '2', '10107', 'GigabitEthernet0/7', '2', '10108',
'GigabitEthernet0/8', '2', '10109', 'GigabitEthernet0/9', '2', '10110',
'GigabitEthernet0/10', '2', '10111', 'GigabitEthernet0/11', '2', '10112',
'GigabitEthernet0/12', '2', '10113', 'GigabitEthernet0/13', '1', '10114',
'GigabitEthernet0/14', '1', '10115', 'GigabitEthernet0/15', '2', '10116',
'GigabitEthernet0/16', '1', '10117', 'GigabitEthernet0/17', '2')
我想在每个界面的换行符上打印session.getbulk
返回的信息。如果我对我的程序的理解是正确的,我应该为每个界面获得三个值(ifIndex
,ifDescr
和ifOperStatus
。)
目前,结果只显示在一个信息块中,我的观众可能难以区分。
然而,作为编程的全新,我很难弄清楚如何做到这一点。如果有人愿意为此指出适当的教程或文档,我会非常感激。
谢谢!
答案 0 :(得分:0)
如果我理解正确,我认为这就是你想要的?:
result = session.getbulk(0, 48, vars)
for i in range(0, len(result), 3):
print "ifind: "+result[i]+" ifdesc: "+result[i+1]+" status: "+result[i+2]