擅长:python、mysql、java
<p>您将整个文件作为一个列表读取到内存中并进行枚举,因此您所要做的就是使用列表中的当前索引来获取附近的其他行。我把你和正则表达式的比较改快了一点,得出了:</p>
<pre><code>import re
with open('journal.0028.txt', 'r') as file_object:
lines = file_object.readlines()
for i, line in enumerate(lines):
if re.search(r"jrn\..*username", line.lower()):
for item in lines[max(i-2, 0):i+3]:
print(item.rstrip())
</code></pre>