python实现将一串字符每两个一组,中间用空格隔开

由于工作中需要对xml文件中的某个字段的一串16进制数进行分组转化处理,所以写了下面两个脚本,直接贴出脚本文件内容。

#!/usr/bin/python
# -*- coding: utf-8 -*-
#Function:将userlocation字段按16进制表示的位数分割,每两位一组,用空格隔开
#version 1.1
#Author: Herman
#Date: 2018-06-04
#Usage: python fenge.py xmlfile_dir >> tar_dir

import re;
import sys;

#定义函数
def fenge():
    alist = []
    with open(sys.argv[1], 'r') as f:
        for line in f:
            for i in range(0, len(line), 2):
                alist.append(line[i:i+2])
        print ' '.join(alist)
        alist = []

if __name__=="__main__":
    fenge();

#!/usr/bin/python
# -*- coding: utf-8 -*-
#Function:将userlocation字段按16进制表示的位数分割,每两位一组,用空格隔开
#version 1.1
#Author: Herman
#Date: 2018-06-04
#Usage: python fenge.py xmlfile_dir >> tar_dir

import re;
import sys;

def fenge():
    with  open(sys.argv[1], 'r') as f:
        for subject in f.readlines():
            result = re.sub(r"(?<=\w)(?=(?:\w\w)+$)", " ", subject);
            print result;

if __name__=="__main__":
    fenge();

这两个脚本都可以实现将字符串每两个分一组,中间用空格隔开的功能,第一个Python脚本没有问题,第二个脚本输出的结果,每行下面多一个空行,但是从功能实现的角度,两个代码都能实现,哪个更好大家自己选择,推荐第一个哦。


PS:本人Python学习中,大家有其他实现方式和问题,欢迎留言讨论哦~

猜你喜欢

转载自blog.51cto.com/13587182/2125600