Piszę skrypt, który schodzi do drzewa katalogów (używając os.walk ()), a następnie odwiedza każdy plik pasujący do określonego rozszerzenia. Ponieważ jednak niektóre drzewa katalogów, w których moje narzędzie będzie używane, zawierają również podkatalogi, które z kolei zawierają DUŻO bezużytecznych (na potrzeby tego skryptu) rzeczy, pomyślałem, że dodam opcję dla użytkownika do określenia lista katalogów do wykluczenia z przemierzania.
Jest to dość łatwe dzięki os.walk (). W końcu to do mnie należy decyzja, czy faktycznie chcę odwiedzić odpowiednie pliki / katalogi udostępnione przez os.walk (), czy po prostu je pominąć. Problem w tym, że jeśli mam np. Drzewo katalogów takie jak to:
root--
|
--- dirA
|
--- dirB
|
--- uselessStuff --
|
--- moreJunk
|
--- yetMoreJunk
i chcę wykluczyć uselessStuff i wszystkie jego elementy podrzędne, os.walk () nadal będzie schodzić do wszystkich (potencjalnie tysięcy) podkatalogów uselessStuff , co, rzecz jasna, bardzo spowalnia działanie. W idealnym świecie mógłbym powiedzieć os.walk (), aby nawet nie zawracał sobie głowy dawaniem kolejnych dzieci uselessStuff , ale o ile wiem, nie ma na to sposobu (prawda?).
Czy ktoś ma pomysł? Może istnieje biblioteka innej firmy, która udostępnia coś takiego?
dirs[:] =?