Подсчёт количества строк в файле
В этом примере посмотрим, как посчитать количество строк в файле на Python. Покажем два способа: классический цикл for с enumerate() и компактный однострочник через sum() и генератор.
Что нужно знать
Перед изучением примера полезно понимать:
/python-programming/methods/built-in/enumerate/index — функция
enumerate()Работа с файлами Python — работа с файлами
Python: цикл for — цикл
for
Пример 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.