我正在处理一个 500MB 的文件。使用研究时处理时间增加。
请找到我测试过的以下案例。在所有情况下,我都在逐行读取文件并且只使用一个if
条件。
情况1:
prnt = re.compile(r"(?i)<spanlevel level='7'>")
if prnt.search(line):
print "Matched"
out_file.write(line)
else:
out_file.write(line)
读取整个文件需要 16 秒。
案例2:
if re.search(r"(?i)<spanlevel level='7'>",line):
print "Matched"
out_file.write(line)
else:
out_file.write(line)
读取文件需要 25 秒。
案例3:
if "<spanlevel level='7'>" in line:
print "Matched"
out_file.write(line)
else:
out_file.write(line)
读取文件仅需 8 秒。
有没有人能告诉我这三种情况的区别。Case3 的处理速度非常快,但我无法进行不区分大小写的匹配。如何在 Case3 中进行不区分大小写的匹配?