Сумма количества символов в каждой строке, с описанием except если строка не попадает под условие

line_count = 0
result = 0
try:
    with open('people.txt', 'r') as file:
        for i_line in file:
            line_count += 1
            length = len(i_line)
        if i_line.endswith('\n'):
            length -= 1
            result += len(i_line)
        if length < 3:
            raise BaseException('Длина {} строки меньше 3 символов'.format(line_count))
finally:
    print('Общее количество символов:', result)

Пример результата выполнения.
Содержимое файла people.txt:
Василий
Николай
Надежда
Никита
Ян
Ольга
Евгения
Кристина

Ответ в консоли:
Ошибка: менее трёх символов в строке 4.
Общее количество символов: 48.

Подскажите как правильно реализовать.


Ответы (1 шт):

Автор решения: Kuchizu
with open('people.txt', encoding='UTF-8') as f:
    try:
        f = f.readlines()
        size = sum([len(i.strip()) for i in f])
        for x, i in enumerate(f, 1):
            if len(i.strip()) < 3:
                raise BaseException(f'Длина {x} строки меньше 3 символов')
    except BaseException as b:
        print(b)
    finally:
        print('Общее количество символов:', size)
→ Ссылка