Нет, это не так, потому что f.readlines()
оценивается при создании выражения генератора:
f = open('foo.txt', 'rb')
ii = (x for x in f.readlines())
print(f.tell()) # nonzero for non-empty file (shows how far we read)
f.close()
Обратите внимание, что, хотя мы никогда не вызываем next
, содержимое файла уже загружено.