Rekursives Suchen von Dateien: Erkunden von pathlib.rglob(), glob.glob() und os.walk()
Beim Umgang mit Bei komplexen Verzeichnisstrukturen ist es unerlässlich, Dateien rekursiv zu finden. Diese Aufgabe kann mithilfe verschiedener Python-Module und -Methoden vereinfacht werden.
Ein Ansatz besteht darin, pathlib.Path().rglob() zu verwenden, das in Python 3.5 eingeführt wurde. Es ermöglicht eine einfache rekursive Dateisuche:
from pathlib import Path for path in Path('src').rglob('*.c'): print(path.name)
Alternativ bietet glob.glob() eine weitere Option für die rekursive Dateiauflistung:
from glob import glob for filename in glob('src/**/*.c', recursive=True): print(filename)
Diese Methode ebenfalls unterstützt passende Dateien, die mit einem Punkt (.) beginnen.
Für ältere Python-Versionen oder wenn Geschwindigkeit entscheidend ist, os.walk() bietet eine zuverlässige Lösung:
import fnmatch import os matches = [] for root, dirnames, filenames in os.walk('src'): for filename in fnmatch.filter(filenames, '*.c'): matches.append(os.path.join(root, filename))
Durch Auswahl der geeigneten Methode basierend auf Ihrer Python-Version und Ihren Leistungsanforderungen können Sie Dateien effektiv rekursiv in Verzeichnissen und Unterverzeichnissen auflisten.
Das obige ist der detaillierte Inhalt vonWie kann ich mit „pathlib', „glob' und „os.walk' rekursiv Dateien in Python finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!