今天有同事给了一堆mac地址,需要更改成一定格式,如mac=’902B345FB021’改为mac=’90-2B-34-5F-B0-21’,写了一个小python脚本,帮助处理了。其实就是字符串的按照固定长度拆分。
文件mac.txt中的mac地址一堆: 50E549E32ECB 902B3413EFA6 50E549ECBA1C 902B3457B16F 1C6F65296DF9 902B34131A14 50E549E3E2F8 50E5493A2696 902B345FB021 902B34131574 实现的方法有两种,如下:
- 方法一:
- 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()
- 这种方法比较简陋,刚开始想到这个。
- 方法二:
- 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