有如下的一堆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
这里分享两种实现方法,供大家参考。
方法一:
代码示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#!/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() |
方法二:
代码示例:
1
2
3
4
5
6
7
8
9
10
|
#!/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按照固定长度分割字符串三个字符一组
1
2
3
4
5
6
7
8
|
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' ] |
代码二
1
2
3
4
5
|
>>> import re >>> string = '123456789abcdefg' >>> re.findall(r '.{3}' , string) [ '123' , '456' , '789' , 'abc' , 'def' ] >>> |
这篇文章就介绍到这,需要的朋友可以参考一下