首页 > 解决方案 > 检查下一行

问题描述

我正在尝试遍历我拥有的一系列文本文件,我想通过检查下一行的值来做到这一点。文本文件的输入如下所示:

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)

但是,我似乎无法让这个循环正确。似乎要打印三遍 Person ,但有时只打印密钥。在这里寻找任何可用的指导。

标签: pythonregexpython-2.7for-loop

解决方案


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

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

推荐阅读