使用 enumerate() 一次读取两行

Reading two lines at a time while using enumerate()

就我现在所见,我的脚本需要枚举函数。但是因为它只能逐行读取 txt 文件,所以我无法一直捕获我的 RegEx 模式。我希望能够在使用枚举时一次读取两行。这可能吗?

import re
import itertools

a_list = []    

f = open("/Users/me/Desktop/scrape.txt", "r", encoding="utf8")
txt = f.readlines()

for k, line in enumerate(txt):
    if re.findall(r'\w+,\s*f\s*\.\s*\d\s*\d\s*-\s*\d\s*\d\s*-\s*\d\s*\d\s*\d\s*\d', line):
        a_list.append((k, line))

我试过(但失败了)像这样使用 islice():

import re
import itertools

a_list = []

f = open("/Users/me/Desktop/scrape.txt", "r", encoding="utf8")
txt = f.readlines()
**while True:
    next_two_lines = list(itertools.islice(f, 2))
    if not next_two_lines:
        break**

for k, line in enumerate(txt):
    if re.findall(r'\w+,\s*f\s*\.\s*\d\s*\d\s*-\s*\d\s*\d\s*-\s*\d\s*\d\s*\d\s*\d', line):
        a_list.append((k, line))

你可以做到

for k, line in enumerate(zip(txt[::2], txt[1::2])):
    if re.findall(r'\w+,\s*f\s*\.\s*\d\s*\d\s*-\s*\d\s*\d\s*-\s*\d\s*\d\s*\d\s*\d', "{} {}".format(line[0], line[1])):
        a_list.append((k, line))

这将遍历元组,每个元组包含两行。