Подсчёт количества строк в файле

В этом примере посмотрим, как посчитать количество строк в файле на Python. Покажем два способа: классический цикл for с enumerate() и компактный однострочник через sum() и генератор.

Что нужно знать

Перед изучением примера полезно понимать:

Пример 1. Через цикл for

Содержимое файла my_file.txt:

honda 1948
mercedes 1926
ford 1903

Исходный код

def file_len(fname):
    with open(fname) as f:
        for i, l in enumerate(f):
            pass
    return i + 1

print(file_len("my_file.txt"))

Вывод

3

Циклом for можно подсчитать строки в файле.

  • Открываем файл в режиме чтения.

  • Циклом for пробегаем по объекту-файлу f.

  • На каждой итерации читается одна строка, переменная-счётчик i увеличивается автоматически благодаря enumerate().

Пример 2. Через генератор списка

num_of_lines = sum(1 for l in open('my_file.txt'))

print(num_of_lines)

Вывод

3
  • Открываем файл в режиме чтения.

  • Циклом for пробегаем по open('my_file.txt').

  • Для каждой строки возвращаем число 1.

  • Складываем все эти единицы — получаем количество строк.

Подробнее о такой записи смотри в Python: list comprehension.