python字符串按固定长度拆分

    将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