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学习中,大家有其他实现方式和问题,欢迎留言讨论哦~

转载于:https://blog.51cto.com/13587182/2125600

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值