Podczas korzystania z metody os.listdir muszę powiedzieć, który element na liście wynikowej jest katalogiem lub po prostu plikiem.Jak mogę powiedzieć plik z katalogu w Pythonie?
Mam do czynienia z problemem, kiedy musiałem przejść przez wszystkie katalogi na tej liście, a następnie dodać plik w każdym katalogu.
Czy istnieje sposób na przejrzenie tej listy i usunięcie z niej wszystkich plików? Jeśli nie można tego zrobić z os.listdir, to jakiej metody powinienem użyć?
Dzięki.
Dzięki za szybką odpowiedź! Sprawdziłem pomoc (os.path) i odkryłem, że być może isfile (path) też będzie użyteczny. isdir (s) Zwraca wartość true, jeśli ścieżka odnosi się do istniejącego katalogu. isfile (ścieżka) Sprawdź, czy ścieżka jest zwykłym plikiem. –
Nie zapomnij o teście, jeśli plik jest miękkim łączem: islink, i jeśli jest to punkt montowania dla urządzenia. –
Heads up, że 'listdir()' nie zwraca plików i katalogów danej ścieżki (''/path'' w przykładzie) z bezwzględnymi ścieżkami, ale tylko nazwa pliku. I myślę, że 'isdir()'/'isfile()' etc sprawdza w stosunku do bieżącego katalogu roboczego, więc 'filter()' może nie działać, dopóki nie zwrócisz zwróconych wartości 'listdir' do ścieżek. – Parham