def main():
x = open("textfile.txt", "r")
#o = enumerate(x.readlines())
for i in x:
print(i, end="")
x.close
if __name__ == "__main__": main()
Если я раскомментирую объект 'o', этот скрипт не будет запущен. Не мог бы кто-нибудь рассказать мне, почему это так? : python3.3Функция «enumerate» прерывает цикл? python3
Но я не изменить для цикла, когда я удаляю комментарий, im все еще читает из объекта 'x', я не звоню или не включаю 'o', но нет вывода, как это влияет на мой код? Извините, я noob :) – user2817436
так, readlines будут читать строки из файла до EOF. 'for i in x' также имеет такое же поведение - итератор по файлу будет читать строку для каждого вызова до EOF. если вы выполните перечисление (x.readlines()), часть readlines() будет считывать все данные и получать EOF. то вы делаете «для i в x», но x уже находится в EOF, так что на самом деле ничего не происходит. вам нужно сбросить файл (либо закрыть/снова открыть, либо сделать x.seek (0), чтобы вернуть его в начало файла, а затем он будет работать. –