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

用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.kler.cn/a/380227.html

相关文章:

  • openstack之guardian介绍与实例创建过程
  • Oceanbase学习之一迁移mysql数据到oceanbase
  • 虚拟化环境中的精简版 Android 操作系统 Microdroid
  • IsADirectoryError: [Errno 21] Is a directory: ‘xxxxx/.ipynb_checkpoints‘
  • 私有化视频平台EasyCVR视频汇聚平台接入RTMP协议推流为何无法播放?
  • channel error 报错【已解决】
  • 简单说明vuex
  • AIDOVECL数据集:包含超过15000张AI生成的车辆图像数据集,目的解决旨在解决眼水平分类和定位问题。
  • SwiftUI:单个App支持设置多语言
  • 【零基础学习CAPL】——使用CAP测试报文长度DLC
  • 交换机的基本配置
  • MySql创建用户与授权
  • 关于安科瑞电能质量监测和治理产品在分布式光伏电站的应用探讨
  • 又一次安装autoware.universe的过程
  • 苏州金龙新V系客车创新引领旅游出行未来
  • 计算机网络面试题三道之二
  • 【人工智能】自动化机器学习的实现:使用Python与AutoML工具进行模型自动化调参
  • 提升大数据量分页查询性能:深分页优化全解
  • 深度学习基础知识-残差网络ResNet
  • Python 实现图:构建、添加和搜索详解
  • 【客户服务】服务创造价值---让服务成为客户购买的理由
  • 微服务架构面试内容整理-领域驱动设计(DDD)
  • 使用 SSH 蜜罐提升安全性和记录攻击活动
  • 2024Python安装与配置IDE汉化集活的全套教程
  • 安科瑞出席2024年浙江省建筑电气学术年会
  • 2024年11月4日Github流行趋势