Quando devo usar file.read () ou file.readlines ()?

Percebi que se eu iterar sobre um arquivo que abri, é muito mais rápido iterá-lo sem "ler" - nele.

isto é

l = open('file','r')
for line in l:
    pass (or code)

é muito mais rápido que

l = open('file','r')
for line in l.read() / l.readlines():
    pass (or code)

O segundo loop levará cerca de 1,5x mais tempo (usei timeit exatamente no mesmo arquivo, e os resultados foram 0,442 vs. 0,660) e daria o mesmo resultado.

Então - quando devo usar o .read () ou .readlines ()?

Como eu sempre preciso percorrer o arquivo que estou lendo, e depois de aprender da maneira mais difícil o quão dolorosamente lento o .read () pode estar em dados grandes - não consigo imaginar imaginar usá-lo novamente.

questionAnswers(3)

yourAnswerToTheQuestion