Czasami podczas pracy z plikami w Pythonie pojawia się problem, jak umieścić wszystkie pliki w katalogu. W tym artykule omówimy różne metody jak wyświetlić listę wszystkich nazw plików w katalogu w Pythonie.
Wykonywanie operacji na plikach jest umiejętnością niezbędną dla programistów. Nauka operacji na plikach przy użyciu języka Python pomaga w zarządzaniu plikami, integrowaniu plików z programami, budowaniu programów w świecie rzeczywistym itp. Omówimy najbardziej podstawową koncepcję wyświetlania listy wszystkich plików znajdujących się w określonym katalogu.
W tym samouczku dotyczącym wyświetlania nazw plików i szczegółów w katalogu omówimy dwa moduły i odpowiadające im funkcje.
Co to jest katalog w Pythonie?
Katalog, czasami nazywany folderem, to jednostkowa struktura organizacyjna w systemie plików komputera, służąca do przechowywania i lokalizowania plików lub większej liczby folderów. Python obsługuje teraz kilka interfejsów API do wyświetlania zawartości katalogu. Na przykład możemy użyć funkcji Path.iterdir, os.scandir, os.walk, Path.rglob lub os.listdir.
Katalog w użyciu: gfg
Jak wyświetlić listę plików w katalogu w Pythonie
Istnieje wiele sposobów wyświetlania wszystkich plików w katalogu. W tym artykule omówimy poniższe moduły i ich funkcje umożliwiające pobranie listy plików w katalogu. Omówimy w sumie 5 sposobów z przykładami sprawdzania listy plików w katalogu.
- Za pomocą Moduł systemu operacyjnego
- Za pomocą moduł globalny
Wyświetl listę plików w katalogu za pomocą modułu Os w Pythonie
Możemy użyć tych 3 metod Moduł systemu operacyjnego , aby uzyskać listę plików w katalogu.
- os.listdir() metoda
- os.walk() metoda
- os.scandir() metoda
Użycie metody os.listdir() w celu uzyskania listy plików
os.listdir() Metoda pobiera listę wszystkich plików i katalogów w określonym katalogu. Domyślnie jest to katalog bieżący. Poza pierwszym poziomem folderów os.listdir() nie zwraca żadnych plików ani folderów.
Składnia : os.listdir(ścieżka)
Parametry :
- Ścieżka : Ścieżka katalogu
Typ zwrotu : zwraca listę wszystkich plików i katalogów w określonej ścieżce
Przykład 1: Uzyskaj listę wszystkich plików w katalogu
W tym przykładzie moduł os jest importowany w celu interakcji z systemem operacyjnym. Funkcja listdir służy do uzyskania listy wszystkich plików i katalogów w określonej ścieżce (C://Users//Vanshi//Desktop//gfg). Wynik jest następnie drukowany, wyświetlając nazwy plików i katalogów znajdujących się w określonej lokalizacji.
Python3
# import OS module> import> os> # Get the list of all files and directories> path> => ' C://Users//Vanshi//Desktop//gfg '> dir_list> => os.listdir(path)> print> (> 'Files and directories in ''> , path,> '' :'> )> # prints all files> print> (dir_list)> |
klasa abstrakcyjna Java
>
>
Wyjście:
Przykład 2: Pobierz wszystkie pliki i żadnych folderów
W tym przykładzie program w języku Python pyta użytkownika o ścieżkę folderu oraz wyświetla i drukuje pliki w tym katalogu, wykorzystując moduł os do interakcji z katalogami i filtrowania plików z uzyskanej listy.
Python3
import> os> print> (> 'Python Program to print list the files in a directory.'> )> Direc> => input> (r> 'Enter the path of the folder: '> )> print> (f> 'Files in the directory: {Direc}'> )> files> => os.listdir(Direc)> # Filtering only the files.> files> => [f> for> f> in> files> if> os.path.isfile(Direc> +> '/'> +> f)]> print> (> *> files, sep> => '
'> )> |
>
>
Przykład 3: Pobierz z katalogu tylko pliki „.txt”.
W tym przykładzie skrypt Pythona wykorzystuje moduł os do iteracji po plikach w bieżącym katalogu. Wybiórczo drukuje tylko nazwy plików kończących się na .txt, skutecznie wyświetlając listę plików tekstowych znajdujących się w katalogu.
Python3
zestaw skrótów Java
# import OS> import> os> for> x> in> os.listdir():> > if> x.endswith(> '.txt'> ):> > # Prints only text file present in My Folder> > print> (x)> |
>
>
Wyjście:
Korzystanie z metody os.walk() w celu uzyskania dostępu do plików w drzewie katalogów
OS.walk() generuje nazwy plików w drzewie katalogów. Ta funkcja zwraca listę plików w strukturze drzewa. Metoda przechodzi przez wszystkie katalogi w drzewie.
Składnia: os.walk(góra, góra-dół, onerror, podążaj za linkami )
Parametry:
- szczyt: Jest to główny katalog, z którego chcesz pobrać nazwy plików i folderów składowych.
- z góry na dół: Określa, że katalogi powinny być skanowane od góry do dołu, jeśli jest ustawione na True. Jeśli ten parametr ma wartość False, katalogi będą sprawdzane od góry do dołu.
- błąd: Zapewnia obsługę błędów w przypadku napotkania błędu
- podążaj za linkami : jeśli ustawione na True, odwiedza foldery, do których prowadzą łącza systemowe
Powrót: zwraca nazwę każdego pliku i folderu w katalogu oraz jego podkatalogach.
Przykład: Pobierz w katalogu tylko pliki „.txt”.
W tym przykładzie skrypt Pythona używa modułu os do przeglądania plików w określonym katalogu (C://Users//Vanshi//Desktop//gfg) i jego podkatalogach. Identyfikuje i wypisuje nazwy plików z rozszerzeniem .txt, zapełniając zmienną listy żądanymi plikami tekstowymi.
Python3
kiedy wynaleziono pierwszy komputer
# import OS module> import> os> # This is my path> path> => ' C://Users//Vanshi//Desktop//gfg '> # to store files in a list> list> => []> # dirs=directories> for> (root, dirs,> file> )> in> os.walk(path):> > for> f> in> file> :> > if> '.txt'> in> f:> > print> (f)> |
>
>
Wyjście:
Użycie metody os.scandir() do wyświetlenia listy plików w katalogu
os.scandir() jest wydajną wersją funkcji os.listdir(). Został później wydany przez Pythona i jest obsługiwany w Pythonie 3.5 i nowszych.
Składnia: os.scandir(ścieżka)
Parametr:
- Ścieżka- Ścieżka katalogu.
Typ zwrotu: zwraca iterator obiektu os.DirEntry.
Przykład: Wyświetl listę wszystkich plików i katalogów w katalogu.
W tym przykładzie skrypt Pythona wykorzystuje moduł os do wyświetlenia listy plików i katalogów w określonej ścieżce (C://Users//Vanshi//Desktop//gfg). Wykorzystuje funkcję os.scandir() w celu uzyskania iteratora obiektów os.DirEntry reprezentujących wpisy w katalogu.
Python3
# import OS module> import> os> # This is my path> path> => ' C://Users//Vanshi//Desktop//gfg '> # Scan the directory and get> # an iterator of os.DirEntry objects> # corresponding to entries in it> # using os.scandir() method> obj> => os.scandir()> # List all files and directories in the specified path> print> (> 'Files and Directories in '% s':'> %> path)> for> entry> in> obj:> > if> entry.is_dir()> or> entry.is_file():> > print> (entry.name)> |
>
>
Wyjście:
Wyświetl listę plików w katalogu za pomocą modułu glob w Pythonie
The glob moduł pobiera nazwy plików/ścieżek pasujące do określonego wzorca. Poniżej znajdują się sposoby, dzięki którym możemy wyświetlić listę plików w katalogu za pomocą modułu glob:
- kula() metoda
- iglob() metoda
Użycie metody glob() do pobrania wszystkich plików w katalogu
Z glob , możemy użyć symboli wieloznacznych (*, ?, [zakresy]) aby wyszukiwanie ścieżek było prostsze i wygodniejsze.
Składnia: glob.glob(nazwa ścieżki, *, rekurencyjna=Fałsz)
Parametry:
- nazwa ścieżki : Ścieżka katalogu lub wzorzec do dopasowania.
- rekurencyjne (Opcjonalnie): Parametr logiczny (wartość domyślna to FAŁSZ ), który wskazuje, czy wyszukiwanie powinno być rekurencyjne, czyli czy powinno uwzględniać podkatalogi.
Zwroty:
stałe Java
- Lista pasujących ścieżek plików
Przykład: dopasowywanie i drukowanie plików w języku Python przy użyciu metody glob().
Python3
import> glob> # This is my path> path> => 'C:UsersVanshiDesktopgfg'> # Using '*' pattern> print> (> '
Named with wildcard *:'> )> for> files> in> glob.glob(path> +> '*'> ):> > print> (files)> # Using '?' pattern> print> (> '
Named with wildcard ?:'> )> for> files> in> glob.glob(path> +> '?.txt'> ):> > print> (files)> # Using [0-9] pattern> print> (> '
Named with wildcard ranges:'> )> for> files> in> glob.glob(path> +> '/*[0-9].*'> ):> > print> (files)> |
>
>
Wyjście:
Użycie metody iglob() do wyświetlenia listy plików w katalogu
iglob() Metoda może być używana do rekursywnego drukowania nazw plików, jeśli parametr recursive jest ustawiony na True. Jest to używane w przypadku dużych katalogów, ponieważ jest bardziej wydajne niż metoda glob().
Składnia: glob.iglob(nazwa ścieżki, *, recursive=False)
Parametr:
- nazwa ścieżki = Ścieżka katalogu.
- rekurencyjny (opcjonalnie) = Parametr logiczny (wartość domyślna to FAŁSZ ), który wskazuje, czy wyszukiwanie powinno być rekurencyjne, czyli czy powinno uwzględniać podkatalogi.
Zwroty: Iterator pasujących ścieżek plików
Przykład: Wydrukuj ścieżki pasujące do określonego wzorca w katalogu.
W tym przykładzie skrypt Pythona wykorzystuje moduł glob do wyszukiwania i drukowania ścieżek pasujących do określonego wzorca (C:UsersVanshiDesktopgfg***.txt). Wykorzystuje glob.iglob() do zwrócenia iteratora, który jest następnie używany do wydrukowania ścieżek wszystkich plików tekstowych znajdujących się w określonym katalogu i jego podkatalogach.
Python3
import> glob> # This is my path> path> => 'C:UsersVanshiDesktopgfg***.txt'> # It returns an iterator which will> # be printed simultaneously.> print> (> '
Using glob.iglob()'> )> # Prints all types of txt files present in a Path> for> file> in> glob.iglob(path, recursive> => True> ):> > print> (> file> )> |
bharti jha
>
>
Wyjście:
Oto 5 sposobów, dzięki którym możesz uzyskać szczegółowe informacje o plikach i katalogach w katalogu. Python udostępnia wiele wbudowanych metod, których można użyć do sprawdzenia, jakie pliki znajdują się w katalogu. W tym samouczku pokazano proste metody z przykładami pozwalającymi zrozumieć, jak uzyskać listę plików za pomocą modułu os i modułu glob.
Podobne brzmi:
- Lista plików w katalogu z rozszerzeniem
- Wyświetl listę wszystkich plików określonego typu w katalogu za pomocą Pythona
- Wyświetlanie katalogów i plików w Pythonie
- Pobierz listę plików w katalogu o rozmiarze
- Obsługa plików w Pythonie