Файлы обрабатываются как выражения генератора по умолчанию, когда вы выполняете их. Если вы хотите перебирать файл несколько раз построчно, вы можете сначала преобразовать файл во что-то вроде списка.
от вопрос уже есть ответ здесь:
Итерация по файлу с использованием Python 4 ответаЯ пишу программу, которая требует от меня многократного перебора каждой строки файла:
loops = 0
file = open("somefile.txt")
while loops < 5:
for line in file:
print(line)
loops = loops + 1
Для краткости я предполагаю, что мне всегда нужно перебирать файл и печатать каждую строку 5 раз. Этот код имеет ту же проблему, что и более длинная версия, которую я реализовал в своей программе: файл повторяется только один раз. После этогоprint(line)
файл ничего не делает Почему это?