2013-09-23 2 views
0

나는 다음과 같은 파이썬 코드가 다음과 같이 있습니다 session.getbulk인쇄 NET-SNMP를 getBulk를 결과

#!/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)) 

결과를 :

('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, ifDescrifOperStatus)를 각 인터페이스에 대한 세 가지 값을 받아야하고있을 수 있습니다 내 잠재 고객이 구별하기가 어렵습니다.

그러나 프로그래밍에 완전히 익숙하지 않아이 작업을 수행하는 방법을 파악하는 데 어려움을 겪고 있습니다. 만약 누군가 내가 적절한 튜토리얼이나 문서로 이것을 가리키고 싶다면, 나는 그것을 매우 감사 할 것이다.

감사합니다. 내가 제대로 이해하고있는 경우

답변

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] 
+0

네, 내가 알아낼 너무 밀도가 무엇인지 정확하게이었다? 싶은 생각! 답장을 보내 주셔서 감사합니다. 얼마나 간단한 지 알 수있게되었습니다. – jschadt