easysnmp
読み取りデバイスを使用すると、データ解析で文字化けが発生する場合があります。たとえば、VRID
デバイスの番号を取得したい場合、次のような文字化けが発生します。
# !/usr/bin/env python3
# -*- coding: UTF-8 -*-
from easysnmp import snmp_walk
def get_vrid():
vrid_data = snmp_walk(
oids='1.3.6.1.2.1.68.1.3.1.2',
hostname='you ip address',
community='you device community',
version=2
)
for vrid in vrid_data:
print(f'vrid: {vrid} \t value:{vrid.value}')
解決策も非常に簡単で、設定時にパラメータsnmp
を追加するだけです。use_sprint_value=True
# !/usr/bin/env python3
# -*- coding: UTF-8 -*-
from easysnmp import snmp_walk
def get_vrid():
vrid_data = snmp_walk(
oids='1.3.6.1.2.1.68.1.3.1.2',
hostname='you ip address',
community='you device community',
version=2,
use_sprint_value=True # 设置 use_sprint_value 为 True
)
for vrid in vrid_data:
print(f'vrid: {vrid} \t value:{vrid.value}')
use_sprint_value
ただし、が に設定されている場合True
、snmp
一部のデータ型が非標準形式で返される可能性があり、データがsprint_value
関数ライブラリget
およびgetnext
メソッドの戻り値によってフォーマットされない可能性があることに注意してください。