用python从很大的文本中查找关键字,并且将相近关键字‘[1]’和 ‘sd 1’合成在一个文本内输出(需要输出多个),然后对输出文本进行再处理
4条回答 默认 最新
- CSDN专家-天际的海浪 2021-09-07 22:09关注
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
import re path = r"E:/xxx/" dic = {} lis = [] with open(rf'{path}大文件.txt', 'r', encoding='utf-8') as fileObj: print(rf'{path}大文件.txt') for line in fileObj: print(line,end="") g = re.search(r'\[(\d+)\]|\bsd (\d+)\b',line) if g: j = g.group(1) if g.group(1)!=None else g.group(2) dic.setdefault(j,[]).append(line) g = re.search(r'compare|time to read',line) if g: lis.append(line) for k,v in dic.items(): with open(rf'{path}txt{k}.txt', 'w', encoding='utf-8') as fileObj: fileObj.writelines(v) print(rf'{path}txt{k}.txt') print(*v,sep="") with open(rf'{path}txt.txt', 'w', encoding='utf-8') as fileObj: fileObj.writelines(lis) print(rf'{path}txt.txt') print(*lis,sep="")
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 1