Чтение n строк из файла (но не всех) в Python - PullRequest
2 голосов
/ 03 декабря 2010

Как прочитать n строк из файла, а не только одну при переборе по нему? У меня есть файл с четко определенной структурой, и я хотел бы сделать что-то вроде этого:

for line1, line2, line3 in file:
    do_something(line1)
    do_something_different(line2)
    do_something_else(line3)

но это не работает:

ValueError: слишком много значений для распаковки

Пока я делаю это:

for line in file:
    do_someting(line)
    newline = file.readline()
    do_something_else(newline)
    newline = file.readline()
    do_something_different(newline)
... etc.

- отстой, потому что я пишу бесконечные 'newline = file.readline()', которые загромождают код. Есть ли умный способ сделать это? (Я действительно хочу избежать чтения всего файла сразу, потому что он огромен)

Ответы [ 11 ]

0 голосов
/ 03 декабря 2010

Если вы делаете то же самое, зачем вам обрабатывать несколько строк за итерацию?

Для строки в файле ваш друг.В целом это гораздо эффективнее, чем чтение файла вручную, как с точки зрения производительности, так и с точки зрения памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...