#python #for-loop #while-loop
#python #цикл for #цикл while
Вопрос:
start = 0
end = 100
file = open("numbers.txt", "r")
while start <= end:
for x in file.readlines():
print(x)
print(start)
start = 1
Почему цикл For выполняется только один раз внутри цикла While?
Я хочу включать цикл For всякий раз, когда [start = 1] увеличивается ..
Комментарии:
1. После прочтения всего из файла в нем вроде как мало что осталось.
2.
file.readline()
вместоfile.readlines()
?3. могу ли я узнать, с какой целью вы используете цикл while? и я думаю, что цикла while достаточно для чтения текста из файла.
4. Я хочу перечитать файл много раз
5. readline() => прочитать букву letter из файла. Я хочу прочитать файл построчно
Ответ №1:
При первом запуске open("numbers.txt")
создается указатель, указывающий на первый символ в файле. В конце цикла for указатель находится в конце файла, и дальнейшие итерации цикла while не приведут положение указателя к началу по умолчанию. Следовательно, вы должны вызвать file.seek(0), чтобы вернуть указатель в исходное положение перед следующей итерацией
start = 0
end = 100
file = open("numbers.txt", "r")
while start <= end:
for x in file.readlines():
print(x)
print(start)
start = 1
file.seek(0)
file.close()
Кроме того, рекомендуется запускать file.close (), когда он больше не нужен, поэтому я также включил его в