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

问题描述 投票:1回答:2

我是python的新手,所以试图找到一个关于如何对文本文件执行某些操作的好解决方案/方法:

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

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

读取文件和解析文件的正常方式应该有效吗?

python lexical-analysis
2个回答
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) 

0
投票

使用@Ayoub Benayache'sre上的另一种方法,但如果需要,可用于正则表达式。

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))
© www.soinside.com 2019 - 2024. All rights reserved.