snmp在php中的使用,在php中转换python代码以计算snmpvlan掩码的最佳方法
我有一些python代码,我想在一个100%的php代码中使用。你知道我怎么转换代码吗???我在转换代码时遇到问题,尤其是部分get bit和set bit。在
位掩码通过snmp从交换机中读取,掩码表示交换机端口位于定义的vlan中。示例:
snmpget 1.3.6.1.2.1.17.7.1.4.3.1.2。返回一个十六进制字符串,如F100000000000000
每个十六进制数字表示交换机的4个物理LAN端口。本例中的第一个数字是F,表示二进制1111。这意味着1-4的每个端口都在vlan中。在
如果只需要端口1、2和4,掩码将是1101,并且是十六进制D
代码的目标是我想知道例如端口15是否在vlan中(getbitatposition),如果不是,我可以更改端口位置的位掩码(setBitaPosition)。在
例如,端口15位于从左起的char 4中:
F=端口1-4
1=端口5-8
端口=0-9
0=端口13-16=>;十六进制0=>;二进制0000
要获得vlan中的端口15,我必须将第3位从0000更改为0010,并将其转换回hex=>;2。在
例如,新掩码将为F102000000000000
python代码:def convertHexCharacterToInt(char):
if (char.upper() == "A"):
return 10
elif (char.upper() == "B"):
return 11
elif (char.upper() == "C"):
return 12
elif (char.upper() == "D"):
return 13
elif (char.upper() == "E"):
return 14
elif (char.upper() == "F"):
return 15
else:
return (int(char))
def convertIntToHexCharacter(integer):
if (integer < 0 or integer > 15):
return "-1"
if (integer < 10):
return str(integer)
elif (integer == 10):
return "A"
elif (integer == 11):
return "B"
elif (integer == 12):
return "C"
elif (integer == 13):
return "D"
elif (integer == 14):
return "E"
elif (integer == 15):
return "F"
def __getBitAtPosition(position, bitmap):
for x in range(0, len(bitmap)):
mask = 0x8
for y in range(0, 4):
if (((x * 4) + y + 1) == position):
return (convertHexCharacterToInt(bitmap[x]) & mask) != 0
mask = mask >> 1
return None
def __setBitAtPosition(position, bitmap, value):
if (__getBitAtPosition(position, bitmap) == value):
return bitmap
charPosition = (position + 3) / 4 - 1
bitPosition = int(math.fabs((position - (charPosition * 4)) - 4))
bitValue = 2 ** bitPosition
fourBitValue = convertHexCharacterToInt(bitmap[charPosition])
newValue = None
if (value):
newValue = fourBitValue + bitValue
else:
newValue = fourBitValue - bitValue
newBitmap = bitmap[:charPosition] + convertIntToHexCharacter(newValue) + bitmap[charPosition + 1:]
return newBitmap
这是我第一次尝试,但结果不一样:
^{pr2}$
snmp在php中的使用,在php中转换python代码以计算snmpvlan掩码的最佳方法相关推荐
- c# typescript_在任何IDE中从C#,Java或Python代码获取TypeScript接口的简单方法
c# typescript by Leonardo Carreiro 莱昂纳多·卡雷罗(Leonardo Carreiro) 在任何IDE中从C#,Java或Python代码获取TypeScript接 ...
- Javascript中char和int的互相转换的代码(转载)
Javascript中char和int的互相转换的代码 // Converts an integer (unicode value) to a char function itoa(i) { ...
- python中turtle怎么确定坐标_关于Python turtle库使用时坐标的确定方法
关于Python turtle库使用时坐标的确定方法 想画一个比较复杂的图像,而且还想用turtle画,最让人想退却的是无规律的笔势和繁多的坐标,但既然没有按奈住冲动的心,那我告诉你一个比较笨的方法吧 ...
- java 求导函数_在MATLAB中计算数值导数的最佳方法是什么?
这些只是一些快速而肮脏的建议 . 希望有人会发现它们有用! 1. Do you have a symbolic function or a set of points? 如果您有符号功能,您可以分析计 ...
- python中for循环加速_如何让Python代码加速运行?
Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足.但是,有很多时候,Python 的效率并没有想象中的那么夸张.本文对一些 Python 代码加速运行的技巧 ...
- python中的浮点数用法_如何利用Python在运算后得到浮点数值的方法详解
在python中进行两个整数相除的时候,在默认情况下都是只能够得到整数的值,而在需要进行对除所得的结果进行精确地求值时,想在运算后即得到浮点值,那么如何进行处理呢? 1.修改被除数的值为带小数点的形式 ...
- 2022年高教社杯全国大学生数学建模竞赛-【赛题解析篇】B题:无人机遂行编队飞行中的纯方位无源定位(附Python代码实现)
前言 最近发现一个关于数学建模比较好的专栏,需要的小伙伴可移步[数学建模应用]算法实战案例精讲300篇(持续更新ing) 赛题描述 无人机集群在遂行编队飞行时,为避免外界干扰,应尽可能保持电磁静默,少 ...
- 在Ubuntu中获取奥比中光的深度值 Python代码
一.官网下载资料 https://developer.orbbec.com.cn/download.html?id=32下载SDK,并解压到Ubuntu中 二.进行后续工作 奥比中光Astra s P ...
- python中and与or的执行顺序-python 代码运行顺序问题?
Thread.join([timeout]) Wait until the thread terminates. This blocks the calling thread until the th ...
最新文章
- 你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧(转)...
- Android ContentProvider、ContentResolver和ContentObserver的使用
- 图像处理技术之分辨率与压缩
- 内存heap_哪个内存更快?Heap或ByteBuffer或Direct?
- 即插即用,基于阿里云Ganos快速构建云上开源GIS方案
- 数据结构、算法及应用 课内模板整理
- 百度小程序-swiper组件
- 蓝桥杯第五届JavaC组杨辉三角问题解决方法
- Android仿虾米音乐播放器之专辑图片模糊处理
- chrome浏览器设置思源黑体
- 小米笔记本装linux教程视频教程,Archlinux安装指南~小米笔记本Air 13.3英寸版本
- 青年大学习分类收集截屏小程序
- 苗木损耗1.1用计算机怎么算,园林绿化工程量计算方法
- SCOM2019安装监控代理
- 嵌入式STM32—第一天GPIO实现led呼吸灯
- 【爬虫】 静态网页抓取
- 雷军:没想到红米会如此火 芯片也应免费
- 二维码可以用哪款条码软件打印?
- ArrayList集合的常用方法
- 【PS教学】简单几步画一个沙滩插画
热门文章
- soapui 测试soap_使用SoapUI调用不同的安全WCF SOAP服务-基本身份验证,第一部分
- java –cp_Java –缺少字体–崩溃的应用程序!
- json解析对象时指定解析_不解析,使用解析对象
- java更好的语言_五个使Java变得更好的功能
- java cucumber_为Java + STANDARD值引入Cucumber
- redis nosql_Redis教程:NoSQL键值存储
- aws sqs_在Spring使用AWS SQS创建消息驱动Bean
- junit测试类叫什么名字_使用Junit测试名称
- Java:可选的可选实现
- jsf 自定义属性_如何在JSF中实现自定义密码强度指示器