Jak iterować po plikach w katalogu za pomocą Pythona?
Informator czasami nazywany także folderem, to jednostkowa struktura organizacyjna w systemie plików systemu, służąca do przechowywania i lokalizowania plików lub większej liczby folderów. Python jako język skryptowy udostępnia różne metody iteruj po plikach w katalogu.
Poniżej znajdują się różne podejścia, za pomocą których można iterować po plikach w katalogu za pomocą Pythona:
Metoda 1: os.listdir()
Ta funkcja zwraca listę akta I podkatalogi obecny w danym katalogu. Możemy przefiltrować listę, aby uzyskać tylko pliki, których używamy os.path.isfile() funkcjonować:
Przykład:
Python3
# import required module> import> os> # assign directory> directory> => 'files'> # iterate over files in> # that directory> for> filename> in> os.listdir(directory):> > f> => os.path.join(directory, filename)> > # checking if it is a file> > if> os.path.isfile(f):> > print> (f)> |
Wyjście:
Metoda 2: os.scandir()
Ta metoda służy do uzyskania iteratora os.DirEntry obiekty odpowiadające wpisom w katalogu podanym przez określoną ścieżkę.
Przykład:
Python3
# import required module> import> os> # assign directory> directory> => 'files'> # iterate over files in> # that directory> for> filename> in> os.scandir(directory):> > if> filename.is_file():> > print> (filename.path)> |
Wyjście:
Metoda 3: moduł pathlib
Możemy iterować po plikach w katalogu za pomocą Ścieżka.glob() funkcja, która globalizuje określony wzorzec w danym katalogu i zwraca pasujące pliki. Ścieżka.glob(‚*’) zwróć wszystkie pliki w podanym katalogu
Przykład:
Python3
# import required module> from> pathlib> import> Path> # assign directory> directory> => 'files'> # iterate over files in> # that directory> files> => Path(directory).glob(> '*'> )> for> file> in> files:> > print> (> file> )> |
Wyjście:
Metoda 4: os.walk()
Za pomocą tej metody możemy również wyszukiwać podkatalogi, ponieważ daje ona 3-krotkę (ścieżka katalogu, nazwy katalogów, nazwy plików) .
- źródło : Drukuje katalogi tylko z podanych.
- mowić : Wypisuje podkatalogi z katalogu głównego.
- akta : Drukuje wszystkie pliki z katalogu głównego i katalogów.
Python3
# import required module> import> os> # assign directory> directory> => 'files'> # iterate over files in> # that directory> for> root, dirs, files> in> os.walk(directory):> > for> filename> in> files:> > print> (os.path.join(root, filename))> |
Wyjście:
Metoda 5: moduł globalny
The glob.iglob() funkcja zwraca iterator po liście nazw ścieżek pasujących do podanego wzorca.
Przykład:
Python3
# import required module> import> glob> # assign directory> directory> => 'files'> # iterate over files in> # that directory> for> filename> in> glob.iglob(f> '{directory}/*'> ):> > print> (filename)> |
Wyjście: