Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich mit „pathlib', „glob' und „os.walk' rekursiv Dateien in Python finden?

Wie kann ich mit „pathlib', „glob' und „os.walk' rekursiv Dateien in Python finden?

DDD
Freigeben: 2024-12-11 20:16:15
Original
310 Leute haben es durchsucht

How Can I Recursively Find Files in Python Using `pathlib`, `glob`, and `os.walk`?

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)
Nach dem Login kopieren

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)
Nach dem Login kopieren

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))
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage