Я пишу код, чтобы проверить, сколько раз строка «TIME_DATA» появляется в моем файле журнала. Я новичок в Python, поэтому я написал logi c, а затем поместил logi c внутри функции, чтобы модулировать его для моей последней задачи.
Однако, когда я раскомментирую logi c outisde функции, я получаю несовместимые результаты между ними. Таким образом, предполагается, что код распечатывает «данные времени завершены», если счетчик больше 7. С одним и тем же logi c в двух отдельных областях, верхний logi c возвращает «данные времени завершены», но тот же logi c при вызове после возвращает «неполные временные данные». Почему это?:
tfile = open ('timetest.log', 'r')
tflines1 = tfile.readlines()
time_data_count = 0
for line in tflines1:
if 'TIME_DATA' in line :
time_data_count += 1
if time_data_count > 7 :
print("time_data complete")
else:
print("incomplete time_data data")
def file_check (f):
tflines = f.readlines()
time_data_count = 0
for line in tflines:
if 'TIME_DATA' in line:
time_data_count += 1
if time_data_count > 7:
return "time_data complete"
else:
return "incomplete time_data data"
print(file_check(tfile))
Почему в функции file_check он проходит за верх, но не за нижний
Если я закомментирую верхнюю часть, лог c вне функции функция file_check ведет себя должным образом и возвращает «time_data complete»