Я пишу script, который спускается в дерево каталогов (используя os.walk()), а затем посещает каждый файл, соответствующий определенному расширению файла. Однако, поскольку некоторые деревья каталогов, в которых мой инструмент будет использоваться, также содержат вспомогательные каталоги, которые, в свою очередь, содержат LOT бесполезные (для целей этого script) вещи, я полагал, d добавьте опцию для указания пользователем списка каталогов для исключения из обхода.
Это достаточно просто с os.walk(). В конце концов, мне решать, действительно ли я хочу посетить соответствующие файлы /dirs, предоставленные os.walk(), или просто пропустить их. Проблема в том, что если у меня есть, например, дерево каталогов:
root--
|
--- dirA
|
--- dirB
|
--- uselessStuff --
|
--- moreJunk
|
--- yetMoreJunk
и я хочу исключить uselessStuff и все его дочерние элементы, os.walk() все равно спустится во все (потенциально тысячи) подкаталогов uselessStuff, что, разумеется, замедляет многое. В идеальном мире я мог бы сказать os.walk(), чтобы даже не потрудиться, уступая больше детям бесполезного Stuff, но, насколько мне известно, нет способа сделать это (есть?).
Есть ли у кого-нибудь идеи? Может быть, есть сторонняя библиотека, которая предоставляет что-то подобное?