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
实现的方法有两种,如下:
 
  1. 方法一: 
  2. A = open('mac.txt','r'
  3. a = A.readlines() 
  4. for aa in a: 
  5.     b = list(aa.strip()) 
  6.     c='' 
  7.     for i in range(len(b)): 
  8.         if i !=0
  9.             if i%2 == 0
  10.                 c=c+'-'+b[i] 
  11.             else
  12.                 c=c+b[i] 
  13.         else
  14.             c=c+b[i] 
  15.     print c 
  16. A.close() 
  17.  
  18. 这种方法比较简陋,刚开始想到这个。 
  19.  
  20. 方法二: 
  21. import re 
  22. A = open('mac.txt','r'
  23. a = A.readlines() 
  24. for aa in a: 
  25.     b=re.findall(r'.{2}',aa) 
  26.     c='-'.join(b) 
  27.     print c 
  28. A.close() 
  29. 这种就是用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



本文转自 lover00751CTO博客,原文链接:http://blog.51cto.com/wangwei007/1147731,如需转载请自行联系原作者

相关文章
|
9天前
|
Python
1167: 分离字符串(PYTHON)
1167: 分离字符串(PYTHON)
|
27天前
|
大数据 Python
使用Python查找字符串中包含的多个元素
本文介绍了Python中查找字符串子串的方法,从基础的`in`关键字到使用循环和条件判断处理多个子串,再到利用正则表达式`re模块`进行复杂模式匹配。文中通过实例展示了如何提取用户信息字符串中的用户名、邮箱和电话号码,并提出了优化策略,如预编译正则表达式和使用生成器处理大数据。
20 1
|
1月前
|
索引 Python
Python系列(14)—— 字符串运算符
Python系列(14)—— 字符串运算符
|
1天前
|
数据采集 Python
python学习9-字符串
python学习9-字符串
|
9天前
|
Python
171: 字符串的倒序(python)
171: 字符串的倒序(python)
|
26天前
|
JSON C++ 数据格式
【Python 基础教程 08】全面入门到精通:Python3 字符串操作实战教程与深度指南
【Python 基础教程 08】全面入门到精通:Python3 字符串操作实战教程与深度指南
82 0
|
编译器 数据处理 索引
【python】—— 字符串详解
【python】—— 字符串详解
|
5天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
5天前
|
程序员 开发者 Python
Python网络编程基础(Socket编程) 错误处理和异常处理的最佳实践
【4月更文挑战第11天】在网络编程中,错误处理和异常管理不仅是为了程序的健壮性,也是为了提供清晰的用户反馈以及优雅的故障恢复。在前面的章节中,我们讨论了如何使用`try-except`语句来处理网络错误。现在,我们将深入探讨错误处理和异常处理的最佳实践。
|
9天前
|
缓存 监控 Python
解密Python中的装饰器:优雅而强大的编程利器
Python中的装饰器是一种强大而又优雅的编程工具,它能够在不改变原有代码结构的情况下,为函数或类添加新的功能和行为。本文将深入解析Python装饰器的原理、用法和实际应用,帮助读者更好地理解和利用这一技术,提升代码的可维护性和可扩展性。