时间:2021-05-22
工作中遇到的,在一个.c文件中有很多函数,这个.c是自动生成的,需要将所有的函数通过extern放到.h中,每个函数都是UINT32 O_开头,通过正则表达式进行字符匹配以及通过linecache来截取特定行。
代码如下:
#! /usr/bin/env python# encoding:utf-8# ! /usr/bin/env python# encoding:utf-8import reimport linecachefile = 'D:\PUSCH_job3.txt'outfile = 'D:\outfile3.txt'lineNumber = 1with open(file,'r') as f: number = [] for line in f.readlines(): m = re.findall(r"UINT32 O_\w+",line) #匹配含有字符'UINT32 O_'的行 if m: number.append(lineNumber) n = re.findall(r"OUT \w+",line) #假设只有一个OUT if n: number.append(lineNumber) lineNumber += 1 with open(outfile, 'w+') as f_w: for j in range(len(number)): if j%2 == 0: start = number[j] end = number[j+1] destlines = linecache.getlines(file)[start-1:end] #截取start-end行的字符,不包括start-1,但包含end行 f_w.write('extern ') for i in range(len(destlines)): if i != len(destlines)-1: f_w.write(destlines[i]) else: f_w.write(destlines[i].replace('\n',';\n')) f_w.write('\n')输入:
UINT32 O_FUNC1(UINT32 uwA,IN UINT32 uwB,IN UINT32* puwC,IN UINT32* puwD,OUT UINT32* puwE){ //}输出:
extern UINT32 O_FUNC1(UINT32 uwA,IN UINT32 uwB,IN UINT32* puwC,IN UINT32* puwD,OUT UINT32* puwE);以上这篇python实现根据指定字符截取对应的行的内容方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
asp.net截取指定长度的字符串内容的代码: /// ///用于截取指定长度的字符串内容 /// ///用于截取的字符串 ///截取字符串的长度
在String中提供了两个截取字符串的方法,一个是从指定位置截取到字符串结尾,另一个是截取指定范围的内容。下面对这两种方法分别进行介绍。1.substring(
本文实例讲述了Python实现简单截取中文字符串的方法。分享给大家供大家参考。具体如下:web应用难免会截取字符串的需求,Python中截取英文很容易:>>>s
Shell截取字符串通常有两种方式:从指定位置开始截取和从指定字符(子字符串)开始截取。从指定位置开始截取这种方式需要两个参数:除了指定起始位置,还需要截取长度
Python批量识别图片指定区域文字内容,供大家参考,具体内容如下简介对于一张图片,需求识别指定区域的内容1.截取原始图上的指定图片当做模板2.根据模板相似度去