当前位置: 首页 > news >正文

用Python遍历输出烟感名称和状态

为了使用Python遍历输出烟感名称和状态,您需要首先从SNMP代理(如网络设备或硬件设备)获取这些值。为此,您可以使用第三方库如pysnmp,它允许您轻松地与SNMP代理通信。

首先,您需要安装pysnmp库,如果尚未安装,可以使用pip进行安装:

pip install pysnmp

然后,您可以使用以下Python代码来查询每个烟感的状态并输出其名称和状态:

from pysnmp.hlapi import *# 烟感列表和对应的OID
sensors = [{'name': '烟感1', 'oid': '.1.3.6.1.4.1.51812.1.24.1.0'},{'name': '烟感2', 'oid': '.1.3.6.1.4.1.51812.1.24.2.0'},{'name': '烟感3', 'oid': '.1.3.6.1.4.1.51812.1.24.3.0'},{'name': '烟感4', 'oid': '.1.3.6.1.4.1.51812.1.24.4.0'}
]# SNMP查询参数
community = CommunityData('public', mpModel=0)
udp_transport = UdpTransportTarget(('your_snmp_agent_ip', 161))  # 替换为您的SNMP代理IP和端口# 遍历烟感列表并查询状态
for sensor in sensors:errorIndication, errorStatus, errorIndex, varBinds = next(getCmd(SnmpEngine(),community,udp_transport,ContextData(),ObjectType(ObjectIdentity(sensor['oid']))))# 检查查询结果if errorIndication:print(f"{sensor['name']} 查询失败: {errorIndication}")elif errorStatus:print(f"{sensor['name']} 查询失败: {errorStatus.prettyPrint()}")else:# 解析状态值status = varBinds[0][1].prettyPrint()if status == '0':status_str = '正常'elif status == '1':status_str = '告警'else:status_str = '未知状态'print(f"{sensor['name']} 状态: {status_str}")# 关闭SNMP引擎
SnmpEngine().shutdown()

请确保将your_snmp_agent_ip替换为您的SNMP代理的实际IP地址,并根据需要调整端口号(默认为161)。此代码段定义了一个sensors列表,其中包含了烟感的名称和对应的OID。然后,它使用pysnmp库的getCmd函数来查询每个烟感的状态,并根据返回的值输出烟感的名称和状态。

http://www.lryc.cn/news/477029.html

相关文章:

  • Redis的持久化以及性能管理
  • Docker部署Meta-Llama-3.1-70B-Instruct API openai格式,vLLM速度对比
  • USB协议学习
  • TDengine 数据订阅 vs. InfluxDB 数据订阅:谁更胜一筹?
  • 用户批评 SAP 的人工智能战略
  • Jest进阶知识:React组件的单元测试
  • MATLAB——矩阵操作
  • 智能数据驱动的风险管理:正大金融科技的创新实践
  • 贝尔不等式的验证
  • GR2——在大规模视频数据集上预训练且机器人数据上微调,随后预测动作轨迹和视频(含GR1详解)
  • 伦敦金价格是交易所公布的吗?
  • Oracle SQL Loader概念及用法
  • ReactPress 是什么?
  • MR30分布式IO模块与高效PLC协同
  • 成都睿明智科技有限公司共赴抖音电商蓝海
  • Android15音频进阶之音频策略加载及使用(九十一)
  • Spring设值注入
  • Spring整合Mybatis过程
  • 常见HR问题篇
  • 调用数据集mnist(下载+调用全攻略)
  • 【基础语法】Java Scanner hasNext() 和 hasNextLine() 的区别
  • react使用Fullcalendar 实战用法
  • 优秀项目经理必知的10款项目管理软件推荐
  • 植物神经紊乱不用怕,这些维生素来帮你!
  • NRF52832学习笔记(41)——添加串口库libuarte
  • Moore Perf System 1.1版本
  • SpringBoot+Shirp的权限管理
  • OpenCV图像基础
  • 基于MATLAB的图像拼接技术
  • ComfyUI 快速入门(环境搭建)