Ich schreibe ein Skript, das in einen Verzeichnisbaum absteigt (mit os.walk ()) und dann jede Datei besucht, die einer bestimmten Dateierweiterung entspricht. Da jedoch einige der Verzeichnisbäume, für die mein Tool verwendet wird, auch Unterverzeichnisse enthalten, die wiederum eine Menge nutzloser (für den Zweck dieses Skripts) Materials enthalten, habe ich mir vorgenommen, eine Option hinzuzufügen, die der Benutzer angeben kann Eine Liste der Verzeichnisse, die vom Durchlauf ausgeschlossen werden sollen.
Dies ist mit os.walk () einfach genug. Schließlich liegt es an mir, zu entscheiden, ob ich die jeweiligen Dateien / Verzeichnisse von os.walk () tatsächlich besuchen oder einfach überspringen möchte. Das Problem ist, dass wenn ich zum Beispiel einen Verzeichnisbaum wie diesen habe:
root--
|
--- dirA
|
--- dirB
|
--- uselessStuff --
|
--- moreJunk
|
--- yetMoreJunk
und ich möchte nutzloses Zeug und alle seine Kinder ausschließen, os.walk () wird immer noch in alle (möglicherweise Tausende von) Unterverzeichnissen von nutzlosem Zeug absteigen , was natürlich die Dinge sehr verlangsamt. In einer idealen Welt könnte ich os.walk () anweisen, sich nicht einmal mehr die Mühe zu machen, Kinder von nutzlosem Zeug zur Welt zu bringen , aber meines Wissens gibt es keine Möglichkeit, dies zu tun (gibt es?).
Hat jemand eine Idee? Vielleicht gibt es eine Drittanbieter-Bibliothek, die so etwas bietet?
dirs[:] =?