← Все вопросы

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

Задан 12 месяцев назад497 просмотров3 ответа
9

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

3 ответа

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)

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

0

def count_lines_words_effective(filename): line_count = 0 word_count = 0

with open(filename, 'r', encoding='utf-8') as file:
    for line in file:
        line_count += 1
        word_count += len(line.split())

return line_count, word_count

Ваш ответ

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