Количество строк

Что нужно сделать

Реализуйте функцию-генератор, которая берёт все питоновские файлы в директории и вычисляет количество строк в каждом файле, игнорируя пустые строки и строки комментариев. По итогу функция-генератор должна с помощью yield каждый раз возвращать количество строк в очередном файле.

Что оценивается

  • Результат вычислений корректен.
  • Input содержит корректные приглашения для ввода.
  • Сообщения о процессе получения результата осмыслены и понятны для пользователя.
  • Переменные, функции и собственные методы классов имеют значащие имена (не abcd).
  • Классы и методы/функции имеют прописанную документацию
  • Есть аннотация типов для методов/функций и их аргументов (кроме args и kwargs). Если функция/метод ничего не возвращает, то используется None.
import os

# функция-генератор возвращающая количество строк
# во всех обнаруженных py файлах
def search_py_gen(dir: str='D:\Python'):

    for walktuple in os.walk(dir):
        for file in walktuple[2]:
            if file.endswith('.py'):
                pathfile = fR'{dir}\{file}'
                yield linecounter(pathfile)

# функция по подсчету строк в файле
def linecounter(path):
    count = 0
    with open(path, 'r', encoding='UTF-8') as file:
        while True:
            for line in file:
                if line[0] != '#' and line[0] != '\n':
                    count += 1
            return count

lines = search_py_gen()

for i in lines:
    print(i)