基于正则表达式/自由文本解析文本文件

时间:2019-03-28 00:33:33

标签: python lexical-analysis

我是python的新手,因此尝试寻找一种好的解决方案/方法来对文本文件执行一些操作:

我要实现的目标:
  浏览一个5k-10k行的文本文件,通过逐行检查,保存并将其存储到另一个文件中,以基于正则表达式和一些自由文本的形式查找特定文本。

在python中实现此目标的好方法是什么?

读取文件并解析文件的正常方法应该起作用?

2 个答案:

答案 0 :(得分:1)

with open("in.txt") as f:
    lines = [l for l in lines if "ROW" in l]
with open("out.txt", "w") as f1:
    f1.writelines(lines)

另一种方式

with open("in.txt") as f, open("out.txt", "w") as f1:
    for line in f:
        if "ROW" in line:
            f1.write(line) 

答案 1 :(得分:0)

使用re@Ayoub Benayache's之上的另一种方法,但是如果需要则使用正则表达式。

import re

pattern = re.compile(r"^.*pattern.*$", re.M|re.I)

with open("in.txt", 'r') as infile:
    lines = pattern.findall(infile.read())
with open("out.txt", 'w') as outfile:
    outfile.write('\n'.join(lines))