Ich brauche einen Dateisystem-Walker, den ich anweisen könnte, das Traversieren zu ignorieren Verzeichnisse, die ich unberührt lassen möchte, einschließlich aller Unterverzeichnisse unter diesem Zweig. Die os.walk und os.path.walk tun es einfach nicht.
Also habe ich diese Home-Rollen-Walker-Funktion gemacht:
%Vor% Tatsächlich kann os.walk
genau das tun, was Sie wollen. Angenommen, ich habe eine Liste (vielleicht eine Menge) von Verzeichnissen, die ich in ignore
ignorieren kann. Dann sollte das funktionieren:
Es ist möglich, das zweite Element der Rückgabewerte von os.walk
zu ändern -Platz:
%Vor%[...] Der Aufrufer kann die Verzeichnisnamen direkt ändern (vielleicht mit Hilfe der del- oder slice-Zuweisung), und walk () wird nur in die Unterverzeichnisse zurückgespielt, deren Namen in dirnamesame verbleiben; dies kann verwendet werden, um die Suche zu löschen [...]
Nun können Sie einfach ein Prädikat für Unterverzeichnisse übergeben:
%Vor%Tags und Links python directory-walk ignore-files