logo

Python – lista plików w katalogu

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



Pliki w katalogu

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.

  1. Za pomocą Moduł systemu operacyjnego
  2. 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