Посчитать количество строк, слов и букв в текстовом файле

import sys

# argv - список аргументов командой строки
# argv[0] - имя самого файла-скрипта
# argv[1] - первый аргумент,
# здесь - имя обрабатываемого файла
fname = sys.argv[1]

# Переменные для подсчета строк, слов и букв.
lines = 0
words = 0
letters = 0

# Функция open() открывает переданный ей файл
# и возвращает объект, итерация по которому
# позволяет последовательно извлекать строки файла.
for line in open(fname):
    # Была получена очередная строка.
    # Она присваивается переменной line.
    # Счетчик строк следует увеличить на 1.
    lines += 1

    # С помощью len определяется
    # количество символов в строке
    # и добавляется к счетчику букв.
    letters += len(line)

    # Код ниже считает количество слов в текущей строке.

    # Флаг, сигнализирующий нахождение за пределами слова.
    pos = 'out'

    # Цикл перебора строки по символам.
    for letter in line:
        # Если очередной символ не пробел,
        # а флаг в значении "вне слова",
        # значит начинается новое слово.
        if letter != ' ' and pos == 'out':
            # Поэтому надо увеличить счетчик слов на 1,
            words += 1
            # а флаг поменять на значение "внутри слова".
            pos = 'in'
        # Если очередной символ пробел,
        elif letter == ' ':
            # то следует установить флаг
            # в значение "вне слова".
            pos = 'out'

# Вывод количеств строк, слов и символов на экран.
print("Lines:", lines)
print("Words:", words)
print("Letters:", letters)
user@comp:~$ python3 words.py text.txt
Lines: 3
Words: 6
Letters: 27


Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий