выборка из файла по совпадению в сроке файла передаваемой строки

хочу произвести выбор строки, в которой есть совпадение. Вот так работает

def get_return(time_input):
    with open('nginx.log','r') as file:
        for str1 in file:
            get_time = str1[str1.find(':')-2 : str1.find(':')+6]
            while (time_input == get_time):
                print ('show get_time : ' + get_time)
                return str1

vr = get_return('07:01:45')
print (vr)

а вот так нет.

def return_time():
    with open('nginx-time.log','r') as file:
        for str1 in file:
            time = str1
            print ('show time : ' + time)
            
            check = get_return(time)          
            print('show check : ' + str(check))

Возвращает None. Почему?


Ответы (2 шт):

Автор решения: Эникейщик

Потому что в первом случае есть return, а во втором нет. А когда нет return, то функция в любом случае возвращает None.

→ Ссылка
Автор решения: миха капа

Вот так работает как надо.

def get_return(time_input):
    count = 0 # число совпадений
    with open('nginx.log','r') as file:
        for str1 in file:   # по каждой строке пробегаем
            get_time = str1[str1.find(':')-2 : str1.find(':')+6]
            
            #while (time_input == get_time):
            if (time_input == get_time):
                #print ('show get_time : ' + get_time)
                count+=1            
    return count

def return_time():
    with open('nginx-time.log','r') as file:
        for str1 in file:
            time = str1.rstrip('\n')
            #print ('show time : ' + time)
            
            check = get_return(time)          
            #print('show check : ' + str(check))
        return check
→ Ссылка