欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python mac地址計算

系統(tǒng) 1892 0

思路是10/16 進制的轉(zhuǎn)換 字符串的處理

開始造輪子

?

1、判斷是否是mac地址

正則匹配是否符合條件

            
              1
            
            
              import
            
            
               re

            
            
              2
            
            
              3
            
            
              def
            
            
               isMac(string):

            
            
              4
            
                 preg = re.compile(
            
              '
            
            
              ^([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}$
            
            
              '
            
            
              )

            
            
              5
            
                 ret =
            
               preg.match(string)

            
            
              6
            
            
              if
            
             ret 
            
              is
            
            
               None:

            
            
              7
            
            
              return
            
            
               False

            
            
              8
            
            
              else
            
            
              :

            
            
              9
            
            
              return
            
             True
          

?

2、mac轉(zhuǎn)int

替換掉冒號轉(zhuǎn)16進制

            
              1
            
            
              def
            
            
               macToInt(mac):

            
            
              2
            
                 mac = mac.replace(
            
              "
            
            
              :
            
            
              "
            
            , 
            
              ""
            
            
              )

            
            
              3
            
            
              return
            
             int(mac, 16)
          

?

3、int轉(zhuǎn)mac?

轉(zhuǎn)回16進制后進行補位和補冒號

            
               1
            
            
              def
            
            
               intToMac(intMac):

            
            
               2
            
            
              #
            
            
               mac地址每段都是2位 不足位數(shù)補0 例如:f:23:54 => 0f:23:54
            
            
               3
            
            
              if
            
             len(hex(intMac)) % 2 !=
            
               0:

            
            
               4
            
                     hexStr = 
            
              '
            
            
              0{0:X}
            
            
              '
            
            
              .format(intMac)

            
            
               5
            
            
              else
            
            
              :

            
            
               6
            
                     hexStr = 
            
              '
            
            
              {0:X}
            
            
              '
            
            
              .format(intMac)

            
            
               7
            
            
               8
            
                 i =
            
               0

            
            
               9
            
                 ret = 
            
              ""
            
            
              10
            
            
              11
            
            
              while
            
             i <= len(hexStr) - 2
            
              :

            
            
              12
            
            
              if
            
             ret == 
            
              ""
            
            
              :

            
            
              13
            
                         ret = hexStr[i:(i + 2
            
              )]

            
            
              14
            
            
              else
            
            
              :

            
            
              15
            
                         ret = 
            
              ""
            
            .join([ret, 
            
              "
            
            
              :
            
            
              "
            
            , hexStr[i:(i + 2
            
              )]])

            
            
              16
            
                     i = i + 2

            
              17
            
            
              return
            
             ret
          

?

4、獲取下n個mac

轉(zhuǎn)成int后進行數(shù)值計算

            
              1
            
            
              def
            
            
               getNextMac(macAddr, n):

            
            
              2
            
            
              return
            
             intToMac(macToInt(macAddr) + n)
          

?

5、獲取上n個mac

轉(zhuǎn)成int后進行數(shù)值計算

            
              1
            
            
              def
            
            
               backOldMac(macAddr, n):

            
            
              2
            
            
              return
            
             intToMac(macToInt(macAddr) - n)
          

?

6、mac地址比較

轉(zhuǎn)換為int后進行值比較

            
              1
            
            
              def
            
            
               compareMac(macA, macB):

            
            
              2
            
            
              return
            
             macToInt(macA) >= macToInt(macB)
          

?

7、mac地址個數(shù)計算

轉(zhuǎn)換成int后進行減法運算

            
              1
            
            
              def
            
            
               calcMacNum(mac_start, mac_end):

            
            
              2
            
                 mac_start =
            
               mac_start
            
            .upper()
            
3    mac_end = mac_end .upper()
4    ret = macToInt(mac_end) - macToInt(mac_start) + 1
5 if ret < 0:
6 ret = 0
7 return ret

?

8、反轉(zhuǎn)mac地址

mac地址的反序化,去掉冒號后反轉(zhuǎn)字符串然后加回冒號

            
              1
            
            
              def
            
            
               macReverse(mac):

            
            
              2
            
                 info = mac.split(
            
              "
            
            
              :
            
            
              "
            
            
              )

            
            
              3
            
            
                  info.reverse()

            
            
              4
            
            
              return
            
            
              "
            
            
              :
            
            
              "
            
            .join(info)
          

?


更多文章、技術(shù)交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产理论自拍 | 色噜噜在线观看 | jizz日本zzz日本护士 | 国产精品人人做人人爽 | 免费观看日韩大尺码观看 | 加勒比色 | 第三级视频在线观看 | 国产超级乱淫视频播放 | 亚洲精品一区久久狠狠欧美 | 草草视频免费在线观看 | 日韩在线短视频 | 色天天天天综合男人的天堂 | 欧美日韩在线观看中文字幕 | 国产羞羞网站 | 日本午夜看x费免 | 一区二区三区在线免费观看 | 国产精选经典三级小泽玛利亚 | 欧美伊人久久综合网 | 青草国产超碰人人添人人碱 | 无码日韩精品一区二区免费 | 免费日本视频 | 美女下面直流白浆视频 | 啪一啪 | 久久久久成人精品免费播放动漫 | 久久久久国产精品 | 久草2 | 精品久久久久久无码中文字幕 | 亚洲精品乱码8久久久久久日本 | 4438激情网 | 天天插天天射天天干 | 黄色av.com| 欧美第一页草草影院 | 国产精品精品视频 | 亚洲天堂视频在线观看免费 | 污网站观看 | 日韩成人一区二区 | 日韩国产一区二区 | 婷婷色综合 | 浮力影院草草影院 | 黑人群姣中国妞在线观看 | 国产高清视频在线 |