基于正则表达式/自由文本解析文本文件
Parsing a text file based on regex / free text
我是 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)
之上的另一种方法使用 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))
我是 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)
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))