J'écris un script qui descend dans une arborescence de répertoires (en utilisant os.walk ()), puis visite chaque fichier correspondant à une certaine extension de fichier. Cependant, comme certaines des arborescences de répertoires sur lesquelles mon outil sera utilisé contiennent également des sous-répertoires qui à leur tour contiennent BEAUCOUP de choses inutiles (aux fins de ce script), j'ai pensé que j'ajouterais une option pour que l'utilisateur spécifie une liste de répertoires à exclure de la traversée.
C'est assez simple avec os.walk (). Après tout, c'est à moi de décider si je veux réellement visiter les fichiers / répertoires respectifs générés par os.walk () ou simplement les ignorer. Le problème est que si j'ai, par exemple, une arborescence de répertoires comme celle-ci:
root--
|
--- dirA
|
--- dirB
|
--- uselessStuff --
|
--- moreJunk
|
--- yetMoreJunk
et je veux exclure uselessStuff et tous ses enfants, os.walk () descendra toujours dans tous les sous-répertoires (potentiellement des milliers de) de uselessStuff , ce qui, inutile de le dire, ralentit beaucoup les choses. Dans un monde idéal, je pourrais dire à os.walk () de ne même pas se donner la peine de donner plus d'enfants de inutileStuff , mais à ma connaissance, il n'y a aucun moyen de le faire (n'est-ce pas?).
est-ce que quelqu'un a une idée? Peut-être existe-t-il une bibliothèque tierce qui fournit quelque chose comme ça?
dirs[:] =?