Вы можете искать каждую строку, а затем переходить к следующей строке, например, так:
with open('text.txt','r') as f:
for line in f:
phrase = 'bye'
if phrase in line: #if the phrase is present
next(f) #move to next line
Вы можете делать все, что хотите, со строками, следующими за этим;если вы пытаетесь найти число, вы можете использовать .isdigit()
, предполагая, что строка содержит только цифры.
Возможное альтернативное решение - использовать регулярные выражения:
import re
def hasNumber(string):
return bool(re.search(r'\d', string)) #returns true/false
with open('text.txt','r') as f:
for line in f:
if re.match('bye',line): #if it contains the word "bye"
newline = next(f) #declare the next line
if hasNumber(newline): #if that line contains any numbers
number = re.compile(r'\d') #find those numbers
print(''.join(number.findall(newline)[:])) #print those numbers
The re.match
функция возвращает true, если вторая переменная соответствует первой (хотя это не совсем верно, поскольку она действует только с условными выражениями).