logo

Python – Dateien in einem Verzeichnis auflisten

Manchmal tritt beim Arbeiten mit Dateien in Python ein Problem auf, wie alle Dateien in einem Verzeichnis abgerufen werden können. In diesem Artikel werden wir verschiedene Methoden behandeln So listen Sie alle Dateinamen in einem Verzeichnis auf in Python.

Das Ausführen von Dateioperationen ist eine unverzichtbare Fähigkeit für Programmierer. Das Erlernen von Dateioperationen mit Python hilft beim Verwalten von Dateien, beim Integrieren von Dateien in Ihre Programme, beim Erstellen realer Programme usw. Wir werden das grundlegendste Konzept der Auflistung aller in einem bestimmten Verzeichnis vorhandenen Dateien behandeln.



In diesem Tutorial zum Auflisten von Dateinamen und Details in einem Verzeichnis werden wir zwei Module und ihre jeweiligen Funktionen behandeln.

Was ist ein Verzeichnis in Python?

Ein Verzeichnis, manchmal auch Ordner genannt, ist eine einheitliche Organisationsstruktur im Dateisystem eines Computers zum Speichern und Auffinden von Dateien oder mehreren Ordnern. Python unterstützt jetzt mehrere APIs zum Auflisten der Verzeichnisinhalte. Beispielsweise können wir die Funktionen Path.iterdir, os.scandir, os.walk, Path.rglob oder os.listdir verwenden.

Verwendetes Verzeichnis: gfg



Dateien in einem Verzeichnis

So listen Sie Dateien in einem Verzeichnis in Python auf

Es gibt mehrere Möglichkeiten, alle Dateien in einem Verzeichnis aufzulisten. In diesem Artikel besprechen wir die folgenden Module und ihre Funktionen zum Abrufen der Liste der Dateien in einem Verzeichnis. Wir werden insgesamt 5 Möglichkeiten anhand von Beispielen behandeln, um die Liste der Dateien in einem Verzeichnis zu überprüfen.

  1. Benutzen OS-Modul
  2. Benutzen glob-Modul

Listen Sie Dateien in einem Verzeichnis mit dem Os-Modul in Python auf

Wir können diese 3 Methoden verwenden OS-Modul , um eine Liste der Dateien in einem Verzeichnis abzurufen.



  • os.listdir() Methode
  • os.walk() Methode
  • os.scandir() Methode

Verwenden Sie die Methode os.listdir(), um die Liste der Dateien abzurufen

os.listdir() Die Methode ruft die Liste aller Dateien und Verzeichnisse in einem angegebenen Verzeichnis ab. Standardmäßig ist es das aktuelle Verzeichnis. Über die erste Ordnerebene hinaus gibt os.listdir() keine Dateien oder Ordner zurück.

Syntax : os.listdir(Pfad)

Parameter :

  • Weg : Pfad des Verzeichnisses

Rückgabetyp : Gibt eine Liste aller Dateien und Verzeichnisse im angegebenen Pfad zurück

Beispiel 1: Eine Liste aller Dateien in einem Verzeichnis abrufen

In diesem Beispiel wird das Betriebssystemmodul importiert, um mit dem Betriebssystem zu interagieren. Die Funktion listdir wird verwendet, um eine Liste aller Dateien und Verzeichnisse im angegebenen Pfad (C://Users//Vanshi//Desktop//gfg) abzurufen. Das Ergebnis wird dann gedruckt und zeigt die Namen der Dateien und Verzeichnisse an, die am angegebenen Speicherort vorhanden sind.

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)>

Applet

>

>

Ausgabe:

Beispiel 2: Holen Sie sich alle Dateien und keine Ordner

In diesem Beispiel fordert das Python-Programm den Benutzer zur Eingabe eines Ordnerpfads auf, listet die Dateien in diesem Verzeichnis auf und druckt sie aus, wobei das Betriebssystemmodul für die Verzeichnisinteraktion und das Filtern von Dateien aus der erhaltenen Liste verwendet wird.

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>=>' '>)>

>

>

Beispiel 3: Nur „.txt“-Dateien aus dem Verzeichnis abrufen

In diesem Beispiel verwendet das Python-Skript das OS-Modul, um Dateien im aktuellen Verzeichnis zu durchlaufen. Es druckt selektiv nur die Namen von Dateien, die mit .txt enden, und listet so effektiv die im Verzeichnis vorhandenen Textdateien auf.

Python3




# import OS> import> os> for> x>in> os.listdir():> >if> x.endswith(>'.txt'>):> ># Prints only text file present in My Folder> >print>(x)>

Java-String mit Format

>

>

Ausgabe:

Verwenden der Methode os.walk() für den Zugriff auf Dateien in einem Verzeichnisbaum

OS.walk() generiert Dateinamen in einem Verzeichnisbaum. Diese Funktion gibt eine Liste von Dateien in einer Baumstruktur zurück. Die Methode durchläuft alle Verzeichnisse in einer Baumstruktur.

Syntax: os.walk(top, topdown, onerror, followlinks )

Parameter:

  • Spitze: Dies ist das oberste Verzeichnis, aus dem Sie die Namen der Komponentendateien und -ordner abrufen möchten.
  • von oben nach unten: Gibt an, dass Verzeichnisse von oben nach unten gescannt werden sollen, wenn der Wert auf „True“ gesetzt ist. Wenn dieser Parameter False ist, werden Verzeichnisse von oben nach unten untersucht.
  • onerror: Es stellt einen Fehlerhandler bereit, wenn ein Fehler auftritt
  • Followlinks : Wenn auf „True“ gesetzt, werden Ordner besucht, auf die durch Systemlinks verwiesen wird

Zurückkehren: gibt den Namen jeder Datei und jedes Ordners innerhalb eines Verzeichnisses und aller seiner Unterverzeichnisse zurück.

Beispiel: Nur „.txt“-Dateien in einem Verzeichnis abrufen

In diesem Beispiel verwendet das Python-Skript das OS-Modul, um Dateien im angegebenen Verzeichnis (C://Users//Vanshi//Desktop//gfg) und seinen Unterverzeichnissen zu durchsuchen. Es identifiziert und druckt die Namen von Dateien mit der Erweiterung .txt und füllt die Listenvariable mit den gewünschten Textdateien.

Python3




# 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)>

Java math.random
>

>

Ausgabe:

Verwenden der Methode os.scandir() zum Auflisten von Dateien in einem Verzeichnis

os.scandir() ist eine effiziente Version der Funktion os.listdir(). Es wurde später von Python veröffentlicht und wird für Python 3.5 und höher unterstützt.

Syntax: os.scandir(Pfad)

Parameter:

  • Weg- Pfad des Verzeichnisses.

Rückgabetyp: gibt einen Iterator des os.DirEntry-Objekts zurück.

Beispiel: Alle Dateien und Verzeichnisse in einem Verzeichnis auflisten.

In diesem Beispiel verwendet das Python-Skript das OS-Modul, um Dateien und Verzeichnisse im angegebenen Pfad (C://Users//Vanshi//Desktop//gfg) aufzulisten. Es verwendet os.scandir(), um einen Iterator von os.DirEntry-Objekten zu erhalten, die Einträge im Verzeichnis darstellen.

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)>

>

>

Ausgabe:

Auflisten von Dateien in einem Verzeichnis mithilfe des Glob-Moduls in Python

Der Kugel Modul Ruft Dateien/Pfadnamen ab, die einem angegebenen Muster entsprechen. Im Folgenden finden Sie die Möglichkeiten, wie wir mithilfe des Glob-Moduls Dateien in einem Verzeichnis auflisten können:

  • glob() Methode
  • iglob() Methode

Verwenden der glob()-Methode, um alle Dateien in einem Verzeichnis abzurufen

Mit Kugel , wir können Platzhalter (*, ?, [Bereiche]) verwenden. um das Abrufen von Pfaden einfacher und bequemer zu gestalten.

Syntax: glob.glob(Pfadname, *, rekursiv=Falsch)

Parameter:

  • Pfadname : Der Pfad des Verzeichnisses oder des zu vergleichenden Musters.
  • rekursiv (Optional): Ein boolescher Parameter (Standardwert ist eingestellt auf). FALSCH ), die angibt, ob die Suche rekursiv sein soll, d. h. ob Unterverzeichnisse einbezogen werden sollen.

Kehrt zurück:

  • Liste übereinstimmender Dateipfade

Beispiel: Python-Dateiabgleich und Drucken mit der glob()-Methode

Python3




Prime kein Code in Java

nicht gleich MySQL
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)>

>

>

Ausgabe:

Verwenden der iglob()-Methode zum Auflisten von Dateien in einem Verzeichnis

iglob() Die Methode kann zum rekursiven Drucken von Dateinamen verwendet werden, wenn der rekursive Parameter auf True gesetzt ist. Dies wird für große Verzeichnisse verwendet, da es effizienter ist als die glob()-Methode.

Syntax: glob.iglob(Pfadname, *, rekursiv=Falsch)

Parameter:

  • Pfadname = Pfad des Verzeichnisses.
  • rekursiv (Optional)= Ein boolescher Parameter (Standardwert ist auf eingestellt). FALSCH ), die angibt, ob die Suche rekursiv sein soll, d. h. ob Unterverzeichnisse einbezogen werden sollen.

Kehrt zurück: Iterator übereinstimmender Dateipfade

Beispiel: Pfade drucken, die dem angegebenen Muster in einem Verzeichnis entsprechen.

In diesem Beispiel verwendet das Python-Skript das Glob-Modul, um Pfade zu finden und zu drucken, die dem angegebenen Muster entsprechen (C:BenutzerVanshiDesktopgfg***.txt). Es verwendet glob.iglob(), um einen Iterator zurückzugeben, der dann verwendet wird, um die Pfade aller Textdateien auszugeben, die im angegebenen Verzeichnis und seinen Unterverzeichnissen vorhanden sind.

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>)>

>

>

Ausgabe:

Dies sind die 5 Möglichkeiten, mit denen Sie Details zu Dateien und Verzeichnissen in einem Verzeichnis abrufen können. Python bietet mehrere integrierte Methoden, mit denen Sie die in einem Verzeichnis vorhandenen Dateien ermitteln können. Dieses Tutorial zeigte einfache Methoden mit Beispielen, um zu verstehen, wie man Dateilisten mit dem OS-Modul und dem Glob-Modul erhält.

Ähnlich lautet:

  • Dateien im Verzeichnis mit Erweiterung auflisten
  • Listen Sie mit Python alle Dateien eines bestimmten Typs in einem Verzeichnis auf
  • Verzeichnisse und Dateien in Python auflisten
  • Liste der Dateien im Verzeichnis mit Größe abrufen
  • Dateiverwaltung in Python