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