检查下一行

时间:2018-05-14 14:05:50

标签: python regex python-2.7 for-loop

我试图循环遍历一系列文本文件,我想通过检查下一行的值来实现。文本文件的输入如下所示:

Person1
(COUNT)|key
1|************

Person2
(COUNT)|key

// and so on

有些人可能有钥匙而有些人可能没有钥匙。我正在尝试编写一个循环,检查至少3个连续行(有键的人)之前的空格,如Person1示例,其中每行以字符开头,我只想打印那些情况。

我目前的循环如下:

for line in input:
    if re.match(r'\S', line):
        line1 = line
        print(line1)
        if re.match(r'\S', input.next()):
            line2 = line
            print(line2)
            if re.match(r'\S', input.next()):
                line3 = line
                print(line3)

然而,我似乎无法使这个循环正确。它似乎是打印人三次,有时只打印键。寻找任何可用的指导。

1 个答案:

答案 0 :(得分:2)

您可以使用enumerate获取当前索引,也可以检查下一行。当你到达文件的末尾时,你需要注意这种情况。

for i, line in enumerate(input):
   if i == len(input) - 2:
       break
   next_line = line[i+1]