python实现根据指定字符截取对应的行的内容
来源:互联网 发布:unity3d素材免费资源 编辑:程序博客网 时间:2024/05/24 06:49
工作中遇到的,在一个.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) #假设只有一个OUTif n:number.append(lineNumber)lineNumber += 1with 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);
阅读全文
0 0
- python实现根据指定字符截取对应的行的内容
- 截取指定长度的字符内容
- 截取屏幕的指定内容
- [python]根据正则表达式提取指定的内容
- str 函数主要用于返回与指定数值表达式对应的字符,截取小数位数
- JavaScript截取字符串指定区域的内容
- 原创_php截取指定字符之间内容的类与实例(含转码、过滤html等)
- php截取指定字符之间内容的类与实例(含转码、过滤html等)
- php截取指定字符之间内容的类与实例(含转码、过滤html等)
- Oracle截取指定字符前的字符串
- 截取两个指定字符内的数据
- 单元格区域查找指定内容并删除指定内容所在单元格对应的行或列
- java根据map指定的value值获取对应的key值使用Gson实现
- python“字符对应的十进制”转字符
- PHP截取两个指定字符中间的字符
- postgresql截取指定字符左边的所有字符
- excel中如何截取指定字符之间的字符
- Python里面截取指定的字符串
- 爬取天气数据+热力图
- LightOJ
- Yarn 内存分配管理机制及相关参数配置
- 【二分图染色】AtCoder CODE FESTIVAL 2017(qual B)C[3 Steps]题解
- 二分法查找的bug与解决
- python实现根据指定字符截取对应的行的内容
- yii2 在表单里 文件上传 为可选择,不再必须上传
- LeetCode 76. Minimum Window Substring
- 天才程序员 Fabrice Bellard
- 第三章 爬虫和蜘蛛
- Week3Day3
- URL编码
- UE4 c++ 创建刚体Cube
- SpringMVC初学者笔记