2017-08-08 152 views
1

我試圖以原始格式OID值獲取MIB。隨着lookupNames = False, lookupValues = False我得到我想要什麼,但試圖所以當得到它可以說CSV格式:pysnmp prettyPrint翻譯OID名稱

(pname, pval) = (name.prettyPrint(), val.prettyPrint()) 

prettyPrint改變的值:

# name: 1.3.6.1.2.1.15.3.1.4.30.30.24.4 

# pname: RFC1213-MIB::mib-2.15.3.1.4.30.30.24.4 

有什麼辦法避免這種情況,請和得到公正的完整的數值OID?

我有pysnmp(4.3.9)。

回答

1

我建議你使用pysnmp hlapi API這需要一個lookupMib=False參數,並與pysnmp 4.3.9它似乎產生純淨的OID。

此外,還有一種方法可以完全擺脫SNMP類型。您可以在OID值上調用tuple(),以便獲得整數子OID的元組。同樣,您可以在數字SNMP值上調用int,在字符串SNMP值上調用str以獲取內置類型的Python對象。值得注意的是,你首先必須處理與你打交道的SNMP類型以進行適當的類型轉換。