Проверка следующей строки - PullRequest
0 голосов
/ 14 мая 2018

Я пытаюсь перебрать серию текстовых файлов, которые у меня есть, и я хочу сделать это, проверив значение следующей строки. Ввод из текстового файла выглядит следующим образом:

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 голосов
/ 14 мая 2018

Вы можете использовать enumerate, чтобы получить текущий индекс и проверить следующие строки.Вам нужно будет остерегаться случая, когда вы дойдете до конца файла.

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