国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實(shí)現(xiàn)根據(jù)指定字符截取對應(yīng)的行的內(nèi)容方法

2020-01-04 14:15:50
字體:
供稿:網(wǎng)友

工作中遇到的,在一個.c文件中有很多函數(shù),這個.c是自動生成的,需要將所有的函數(shù)通過extern放到.h中,每個函數(shù)都是UINT32 O_開頭,通過正則表達(dá)式進(jìn)行字符匹配以及通過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) #假設(shè)只有一個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實(shí)現(xiàn)根據(jù)指定字符截取對應(yīng)的行的內(nèi)容方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 兰西县| 祁门县| 九寨沟县| 滨海县| 和田县| 乐昌市| 称多县| 西华县| 湘潭市| 黎平县| 和龙市| 含山县| 松原市| 徐水县| 屏山县| 临海市| 东乌珠穆沁旗| 永和县| 黄平县| 吉林市| 鄯善县| 青阳县| 邵武市| 永丰县| 马山县| 久治县| 二连浩特市| 宜兴市| 社旗县| 鄂托克前旗| 南陵县| 丹阳市| 罗甸县| 马鞍山市| 于田县| 延寿县| 沧州市| 颍上县| 鞍山市| 调兵山市| 冀州市|