首页 > 代码库 > 数据类型转换(计算mac地址)
数据类型转换(计算mac地址)
[root@localhost test1]# vim 19.py//add#!/usr/bin/pythonmacaddr = ‘00:0C:29:D1:6F:E9‘prefix_mac = macaddr[:-3]last_two = macaddr[-2:]plus_one = int(last_two, 16) + 1new_last_two = hex(plus_one)[2:]new_mac = prefix_mac + ‘:‘ + new_last_twoprint new_mac.upper()/* prefix_mac -- 定义mac地址的前缀,要保持前五位不变 [:-3] --从开头取到倒数第三位(冒号也算一位) last_two -- 先取最后的两位 ,[-2:] 从倒数第二位一直取到最后 因为mac地址为16进制,要将其转换为10进制 --plus_one 然后要加1 --得到新的 然后再把这个新的 16进制 转换为 10进制 -- 有时会打印0x(则表示16进制) -- new_last_two -- [2:]从第三个取到最后 new_mac --新的地址 ,就是把前缀加上最后计算的两位,利用冒号来连接 upper() -- 此函数可把 小写字母 变成 大写字母 */[root@localhost test1]# python 19.py00:0C:29:D1:6F:EA
/* 上面的只是针对某个mac地址写的脚本 当有什么不一样的地方,可以先通过进入python状态进行测试, 找到了好的解决方法,再写入脚本中进行显示*/
/* 如果 最尾两位为01 ,当转换后 0不会显示, 会显示 1. 解决方法:*/[root@localhost test1]# vim 19.py//add#!/usr/bin/pythonmacaddr = ‘00:0C:29:D1:6F:01‘prefix_mac = macaddr[:-3]last_two = macaddr[-2:]plus_one = int(last_two, 16) + 1if plus_one in range(10): new_last_two = hex(plus_one)[2:] new_last_two = ‘0‘ + new_last_twoelse: new_last_two = hex(plus_one)[2:]new_mac = prefix_mac + ‘:‘ + new_last_twoprint new_mac.upper()
/* 如果最后两位为 0A,则下一个应该为B0,但是0又没办法取到 解决方法:*/[root@localhost test1]# vim 19.py//add#!/usr/bin/pythonmacaddr = ‘00:0C:29:D1:6F:0A‘prefix_mac = macaddr[:-3]last_two = macaddr[-2:]plus_one = int(last_two, 16) + 1if plus_one in range(10): new_last_two = hex(plus_one)[2:] new_last_two = ‘0‘ + new_last_twoelse: new_last_two = hex(plus_one)[2:] if len(new_last_two) == 1: new_last_two = ‘0‘ + new_last_twonew_mac = prefix_mac + ‘:‘ + new_last_twoprint new_mac.upper()
数据类型转换(计算mac地址)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。