У меня есть что-то вроде:
folder__
|_folder1
|_folder2_
| |_folder2.1
|_folder3
Мне нужно найти файл файл.txt рекурсивным способом в моей основной папке, но исключив папка1 из поиска. то есть мне нужно искать в папке2, папке2.1 и папке3.
Как ? Я пробую что-то вроде: для корня, каталогов, файлов в os.walk(scr): если os.path.basename(root)=='folder1': продолжить, но продолжать поиск в папке1..... Как это использовать, если заявление в os.walk ?
Это не сработает, если у вас есть папки, вложенные внутрь folder1, потому что root будет folder/folder1/nestedfolder, а базовое имя будет nestedfolder.
Используйте if root.startswith('folder/folder1')
Если вы хотите, вы можете добавить эти комментарии в качестве ответа, и я одобрю.






В своем цикле os.walk() проверьте, есть ли папка folder1, и пропустите ее.
for for root, dirs, files in os.walk(scr):
if root.startswith(os.path.join(scr, "folder1")):
continue
# rest of code
Используйте
os.walk(), а в своем цикле используйте операторif, который проверяет, является ли каталогfolder1, и пропускает его.