Что нужно сделать
Реализуйте функцию gen_files_path
, которая рекурсивно проходит по всем каталогам указанной директории (по умолчанию — корневой диск), находит указанный пользователем каталог и генерирует пути всех встреченных файлов.
Подсказка:
Существует функция, которая может получать все имена файлов в дереве каталогов. Попробуйте найти ее самостоятельно.
Что оценивается
- Результат вычислений корректен.
- Сообщения о процессе получения результата осмыслены и понятны для пользователя.
- Переменные, функции и собственные методы классов имеют значащие имена (не
a
,b
,c
,d
). - Классы и методы/функции имеют прописанную документацию.
- Есть аннотация типов для методов/функций и их аргументов (кроме
args
иkwargs
). Если функция/метод ничего не возвращает, то используетсяNone
.
import os
def gen_files_path(name: str, directory: str='D:/'):
for dirpath, dirnames, filenames in os.walk(directory):
for dirname in dirnames:
if dirname.lower() == name.lower():
print(f'''Искомая папка: {dirpath}/{dirname}
Встретились файлы: ''')
for i in filenames:
yield f'{dirpath}/{i}'