Сценарий
Само собой разумеется, что работа системы позволяют осуществлять поиск файлов и каталогов. Изучая эту часть курса, вы узнали о функциях модуля os, в котором есть все необходимое для написания программы, которая будет искать каталоги в заданном месте.
Чтобы сделать свой задачу проще, мы подготовили для вас структуру тестовой платы:

Ваша программа должна отвечать следующим требованиям:
Напишите функцию или метод под названием find, которая принимает два аргумента, называемые path и dir. Аргумент пути должен принимать относительный или абсолютный путь к каталогу, в котором должен начаться поиск, а аргумент dir должен быть именем каталога, который вы хотите найти по данному пути. Ваша программа должна отображать абсолютные пути, если она находит каталог с заданным именем.
Поиск в каталоге должен выполняться рекурсивно. Это означает, что поиск также должен включать все подкаталоги по заданному пути.
Я проделал это упражнение, но что-то не так. Может кто-нибудь мне помочь?
Мой код:
Код: Выделить всё
def find(path, dir):
os.chdir(path)
list_dirs = os.listdir()
for d in list_dirs:
print(f'.../{path}', end="")
if dir == d:
print(f'/{dir}')
else:
print(f'/{d}', end="")
os.chdir(d)
sub_list = os.listdir()
for s in sub_list:
if dir == s:
print(f'/{dir}')
os.chdir("../")
else:
print(f'/{s}', end="")
os.chdir(s)
sub_sub_list = os.listdir()
for ss in sub_sub_list:
if dir == ss:
print(f'/{dir}')
os.chdir("../../")
find("./tree", "python").
Подробнее здесь: https://stackoverflow.com/questions/787 ... ories-tree