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學習中,大家有其他實現方式和問題,歡迎留言討論哦~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章