展会信息港展会大全

python字符串按固定长度拆分
来源:互联网   发布日期:2015-08-20 22:21:39   浏览:6690次  

导读: 今天有同事给了一堆mac地址,需要更改成一定格式,如mac='902B345FB021'改为mac='90-2B-34-5F-B0-21',写了一个小python脚本,帮助处理了。其实就是字符串的按照固定长度拆分。 文件mac.txt中的mac地址一堆: 50E549E32ECB 902B3413EFA6 50E549ECBA1C 902B34...

今天有同事给了一堆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

赞助本站

人工智能实验室

相关热词: python 字符串 固定 长度 拆分

相关内容
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港