Привет, это мой первый пост (!)
Просто присматриваю за головной болью рекурсивное решение моего маленького проекта:)
Попытка собрать путь ко всем папкам (рекурсивно),
вот это какой-то специальный файл
к массиву путей.
например:
мой (корневой) путь:
C: / тест
папка test содержит файл 'test.txt'
и некоторые папки: «1», «2», «3».
любой из них также содержит «test.txt»!
(если 'text.txt' не найден:
просто затормозить петлю и не искать в подпапках!)
теперь моя функция будет искать 'test.txt'
а затем собрать все папки в мой список папок:
if os.path.exists(os.path.join(path, 'test.txt')):
full_list = os.listdir(path)
folderslist = []
for folder in full_list:
if os.path.isfile(os.path.join(path, folder)) == 0:
folderslist.append(os.path.join(path, folder))
работает неплохо, просто не рекурсивно ...
действительно не знаю, как снова вызвать функцию
с тем же списком, и заставить его изменить «текущий путь» ...
я не уверен, что 'list' - лучшая структура данных для меня, чтобы я мог вызывать ее снова.
Моя цель состоит в том, чтобы сделать опрацию в каждом фордере в этом списке:
c: / test c: / test / 1 c: / test / 2 c: / test / 3
но если есть еще папки (которые не содержат 'test.txt', просто не добавляйте его в мой список папок и не заглядывайте внутрь)
надеюсь, мой первый пост был достаточно ясен: X