В Python 2.6 и 2.7 я бы подумал, что эти две конструкции будут идентичны:
Метод A
i=0
f=open('fred.txt','r')
for line in f.readline():
i+=1
print i
Метод B
i=0
f=open('fred.txt','r')
for line in f:
i+=1
print i
Однако, когда fred.txt вырос до 74 000 строк, каждая из которых имеет длину 2684 символа, Метод A печатает 2685, а Метод B печатает 74000. Очевидно, метод B предпочтительнее, но почему метод А работает для небольших файлов, но не работает для больших файлов?