我是python的新手,所以试图找到一个关于如何对文本文件执行某些操作的好解决方案/方法:
我想要实现的目标: 通过一个5k-10k行的文本文件找到基于正则表达式的特定文本并基于一些自由文本,通过逐行检查,保存并将其存储到另一个文件。
在python中实现这一目标的好方法是什么?
读取文件和解析文件的正常方式应该有效吗?
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)
使用@Ayoub Benayache's在re
上的另一种方法,但如果需要,可用于正则表达式。
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))