python按固定长度拆分字符串的脚本代码

发布时间:2021-01-16编辑:脚本学堂
本文分享一例python代码,学习下按固定长度拆分字符串的方法,这在处理IP、MAC地址等操作时,非常有用,建议大家参考学习下。

有如下的一堆mac地址,需要更改成一定格式,如mac='902B345FB021'改为mac='90-2B-34-5F-B0-21'。
借助python/ target=_blank class=infotextkey>python脚本,可以轻松实现,原理就是:字符串的按照固定长度拆分。

1,文件mac.txt,保存了如下的mac地址:
 

50E549E32ECB
902B3413EFA6
50E549ECBA1C
902B3457B16F
1C6F65296DF9
902B34131A14
50E549E3E2F8
50E5493A2696
902B345FB021
902B34131574

这里分享两种实现方法,供大家参考。

方法一:
 

复制代码 代码示例:
#!/bin/python
#site:WWW.jb200.com
#
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处理字符串还是很牛的,建议大家牢固掌握。