有如下的一堆mac地址,需要更改成一定格式,如mac='902B345FB021'改為mac='90-2B-34-5F-B0-21'。
借助python腳本,可以輕松實現,原理就是:字符串的按照固定長度拆分。
1,文件mac.txt,保存了如下的mac地址:
50E549E32ECB
902B3413EFA6
50E549ECBA1C
902B3457B16F
1C6F65296DF9
902B34131A14
50E549E3E2F8
50E5493A2696
902B345FB021
902B34131574
這里分享兩種實現方法,供大家參考。
方法一:?
代碼示例:
#!/bin/python #site:WWW.jb51.net # A = open('mac.txt','r') a = A.readlines() for aa in a: b = list(aa.strip()) c='' for i in range(len(b)): if i !=0: if i%2 == 0: c=c+'-'+b[i] else: c=c+b[i] else: c=c+b[i] print c A.close()
方法二:??
代碼示例:
#!/bin/python # import re A = open('mac.txt','r') a = A.readlines() for aa in a: b=re.findall(r'.{2}',aa) c='-'.join(b) print c A.close()
使用用python的正則表達式實現,執行效率高,值得推薦。
處理結果:
50-E5-49-E3-2E-CB
90-2B-34-13-EF-A6
50-E5-49-EC-BA-1C
90-2B-34-57-B1-6F
1C-6F-65-29-6D-F9
90-2B-34-13-1A-14
50-E5-49-E3-E2-F8
50-E5-49-3A-26-96
90-2B-34-5F-B0-21
90-2B-34-13-15-74
90-2B-34-18-43-BF
00-24-1D-0E-25-8D
python處理字符串還是很牛的,建議大家牢固掌握。
python按照固定長度分割字符串三個字符一組
def cut_text(text,lenth): textArr = re.findall('.{'+str(lenth)+'}', text) textArr.append(text[(len(textArr)*lenth):]) return textArr print(cut_text('123456789abcdefg',3)) ['123', '456', '789', 'abc', 'def', 'g']
代碼二
>>> import re >>> string = '123456789abcdefg' >>> re.findall(r'.{3}', string) ['123', '456', '789', 'abc', 'def'] >>>
這篇文章就介紹到這,需要的朋友可以參考一下
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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