← Все вопросы

Как посчитать количество строк и слов в текстовом файле?

Задан 11 месяцев назад473 просмотров2 ответа
9

Нужно по файлу узнать, сколько в нём строк и сколько слов всего (как wc в линуксе, только на питоне). Как это аккуратно сделать?

2 ответа

15

Идёшь по строкам, считаешь их и заодно суммируешь количество слов через split():

lines = 0
words = 0
with open('text.txt', encoding='utf-8') as f:
    for line in f:
        lines += 1
        words += len(line.split())

print(lines, words)

line.split() без аргумента бьёт по любым пробельным символам и не плодит пустых элементов, так что слова считаются корректно даже при двойных пробелах.

7

Строки можно совсем коротко:

with open('text.txt', encoding='utf-8') as f:
    lines = sum(1 for _ in f)

Не грузит весь файл в память — считает по одной.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект