Alle Dateien im Verzeichnis und Unterverzeichnissen in Python auflisten

Fariba Laiq 30 Januar 2023
  1. Verwenden Sie os.walk(), um alle Dateien im Verzeichnis und den Unterverzeichnissen in Python aufzulisten
  2. Verwenden Sie listdir(), um alle Dateien im Verzeichnis und den Unterverzeichnissen in Python aufzulisten
  3. Verwenden Sie glob, um alle Dateien im Verzeichnis und den Unterverzeichnissen in Python aufzulisten
Alle Dateien im Verzeichnis und Unterverzeichnissen in Python auflisten

Python bietet viele Möglichkeiten, auf eine Liste von Dateien in einem Verzeichnis und Unterverzeichnissen zuzugreifen. Dieser Leitfaden führt Sie durch die Bereiche os.walk(), listdir() und glob.

Verwenden Sie os.walk(), um alle Dateien im Verzeichnis und den Unterverzeichnissen in Python aufzulisten

Das os-Modul in Python bietet eine Möglichkeit, mit dem Betriebssystem zu interagieren. Es hat viele eingebaute Funktionen, die sich mit dem Dateisystem befassen.

Mit diesem Modul können wir die Verzeichnisse abrufen, erstellen, entfernen und ändern. walk() ist eine rekursive Methode, die die Dateinamen in einem Verzeichnisbaum generiert, indem sie entweder von oben nach unten oder von unten nach oben geht.

Im folgenden Code haben wir die Dateien im Verzeichnis und den Unterverzeichnissen von MyFolder angezeigt. In unserem Fall befindet sich dieser Ordner im Home-Verzeichnis der Python-Umgebung.

Beispielcode:

import os

root = "MyFolder"
for path, subdirs, files in os.walk(root):
    for name in files:
        print(os.path.join(path, name))

Ausgabe:

MyFolder\text_file1.txt
MyFolder\text_file2.txt
MyFolder\SubFolder1\text_file3.txt
MyFolder\SubFolder1\text_file4.txt

Verwenden Sie listdir(), um alle Dateien im Verzeichnis und den Unterverzeichnissen in Python aufzulisten

Im folgenden Code durchlaufen wir den Verzeichnisbaum und greifen auf seine Dateien und Unterdateien zu, ohne die walk-Methode zu verwenden. Als Ausgangspunkt haben wir den Stammordner MyFolder angegeben.

Dann haben wir mit listdir() auf die Verzeichnisse und Unterverzeichnisse dieses Ordners zugegriffen und sie in items gespeichert. Wir haben die Itemnamen mit dem vorherigen Pfad verkettet und mit der Methode isdir() geprüft, ob es sich um ein Verzeichnis handelt.

Wenn dies der Fall ist, werden wir dieses Verzeichnis weiter durchsuchen und dasselbe Verfahren anwenden. Wir haben den Dateinamen an den vorherigen Pfad angehängt, wenn es sich um einen Dateinamen handelt, und sie angezeigt.

Beispielcode:

import os

root = "MyFolder"
files = []
walk = [root]
while walk:
    folder = walk.pop(0) + "/"
    items = os.listdir(folder)  # items = folders + files
    for i in items:
        i = folder + i
        (walk if os.path.isdir(i) else files).append(i)
print(files)

Ausgabe:

['MyFolder/text_file1.txt', 'MyFolder/text_file2.txt', 'MyFolder/SubFolder1/text_file3.txt', 'MyFolder/SubFolder1/text_file4.txt']

Verwenden Sie glob, um alle Dateien im Verzeichnis und den Unterverzeichnissen in Python aufzulisten

Der glob ist ein eingebautes Modul in Python, das für global steht. Dieses Modul gibt alle Dateipfade zurück, deren Name und Erweiterung einem bestimmten Muster entsprechen.

Hier haben wir *.* verwendet, was auf jeden Dateinamen mit beliebiger Erweiterung hinweist. Wir verwenden glob.glob(), um Dateien rekursiv in einem Verzeichnis oder einem Unterverzeichnis zu finden.

Das Muster ** stimmt mit allen Dateien und null oder mehr Ordnern und Unterverzeichnissen überein, wenn rekursiv auf True gesetzt ist.

Beispielcode:

import glob

path = "MyFolder\**\*.*"
for file in glob.glob(path, recursive=True):
    print(file)

Ausgabe:

MyFolder\text_file1.txt
MyFolder\text_file2.txt
MyFolder\SubFolder1\text_file3.txt
MyFolder\SubFolder1\text_file4.txt
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Verwandter Artikel - Python Directory