Dateien im Verzeichnis in Python durchschleifen

Muhammad Waiz Khan 30 Januar 2023
  1. Schleife durch Dateien in einem Verzeichnis in Python mit der Methode os.listdir()
  2. Schleife durch Dateien in einem Verzeichnis in Python mit der Methode pathlib.path().glob()
  3. Schleife durch die Dateien in einem Verzeichnis in Python mit der Methode os.walk()
  4. Schleife durch die Dateien in einem Verzeichnis in Python mit der Methode iglob()
Dateien im Verzeichnis in Python durchschleifen

In diesem Tutorial werden verschiedene Möglichkeiten erklärt, wie man in Python eine Schleife durch die Dateien in einem Verzeichnis macht. Wir müssen nach einer Datei in einem Verzeichnis suchen, um Funktionen wie die Dateifreigabe, die Dateianzeige oder das Laden einer Datei zu implementieren, um eine Aktion mit den darin gespeicherten Daten durchzuführen.

Angenommen, wir haben einen Dateinamen und müssen Daten aus dieser Datei lesen, dann brauchen wir eine Methode, um eine Schleife durch die Dateien im Verzeichnis zu machen, um die gewünschte Datei zu finden. Die verschiedenen Methoden zum Durchlaufen der Dateien in einem Verzeichnis in Python werden im Folgenden erläutert.

Schleife durch Dateien in einem Verzeichnis in Python mit der Methode os.listdir()

Die Methode listdir() des Moduls os nimmt den Verzeichnispfad als Eingabe und gibt eine Liste aller Dateien in diesem Verzeichnis zurück. Da wir eine bestimmte Datei in dem Verzeichnis finden wollen, müssen wir in einer Schleife die Namen der Dateien durchgehen, um die gewünschte Datei zu finden. Das folgende Codebeispiel zeigt, wie man eine bestimmte Datei findet, indem man mit der Methode listdir() in Python durch die Datei iteriert.

import os

files = os.listdir("Desktop/myFolder")
myfile = "filename.txt"

for filename in files:
    if filename == myfile:
        continue

Schleife durch Dateien in einem Verzeichnis in Python mit der Methode pathlib.path().glob()

Die Methode path() des Moduls pathlib nimmt den Verzeichnispfad als Eingabe und gibt die Liste aller Dateipfade in dem Verzeichnis und den Unterverzeichnissen zurück.

Angenommen, die gesuchte Datei ist eine .txt-Datei, dann können wir die Pfade aller .txt-Dateien mit der Methode path().glob() ermitteln. Das folgende Codebeispiel zeigt, wie man mit der Methode path in Python eine Schleife durch alle .txt-Dateien in einem Verzeichnis zieht.

from pathlib import Path

pathlist = Path("Desktop/myFolder").glob("**/*.txt")
myfile = "filename.txt"
for path in pathlist:
    if path.name == myfile:
        continue

Das Muster **/*.txt gibt alle Dateien mit der Erweiterung txt im aktuellen Ordner und seinen Unterordnern zurück. Die Methode path.name gibt nur den Dateinamen, aber nicht den vollständigen Pfad zurück.

Schleife durch die Dateien in einem Verzeichnis in Python mit der Methode os.walk()

Die Methode walk() des Moduls os nimmt ebenfalls den Verzeichnispfad als Eingabe und gibt den Pfad des Stammverzeichnisses als String, die Liste der Unterverzeichnisse und die Liste aller Dateien im aktuellen Verzeichnis und seinen Unterverzeichnissen zurück.

Um die Datei mit dem Namen filename.txt zu finden, können wir zunächst alle Dateien im Verzeichnis abrufen und dann in einer Schleife durch sie gehen, um die gewünschte Datei zu erhalten. Das folgende Code-Beispiel zeigt, wie man eine Datei findet, indem man in einer Schleife durch die Dateien in einem Verzeichnis geht.

import os

myfile = "filename.txt"
for root, dirs, files in os.walk("Desktop/myFolder"):
    for file in files:
        if file == myfile:
            print(file)

Schleife durch die Dateien in einem Verzeichnis in Python mit der Methode iglob()

Die Methode iglob() des Moduls glob() nimmt den Verzeichnispfad und die Erweiterung der gewünschten Datei als Eingabe und gibt den Pfad aller Dateien mit der gleichen Erweiterung zurück. Das folgende Code-Beispiel zeigt, wie man in Python mit der Methode iglob() eine Schleife durch die Dateien in einem Verzeichnis zieht und die gewünschte Datei findet.

import glob

for filepath in glob.iglob("drive/test/*.txt"):
    if filepath.endswith("/filename.txt"):
        print(filepath)

Verwandter Artikel - Python File