Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Dateien in Python rekursiv finden?

Wie kann ich Dateien in Python rekursiv finden?

Linda Hamilton
Freigeben: 2024-12-12 20:21:17
Original
548 Leute haben es durchsucht

How Can I Recursively Find Files in Python?

Rekursives Suchen von Dateien mit Python

In Python können Sie alle Dateien in einem Verzeichnis und seinen Unterverzeichnissen effektiv rekursiv abrufen und so eine umfassende Dateisuche ermöglichen Erkundung.

Eine Methode beinhaltet die Verwendung von pathlib.Path().rglob(). Bei Verzeichnissen mit einer Tiefe von mehr als einer Ebene ruft dieser Ansatz effektiv alle passenden Dateien ab. Der folgende Codeausschnitt demonstriert beispielsweise seine Anwendung:

from pathlib import Path

for path in Path('src').rglob('*.c'):
    print(path.name)
Nach dem Login kopieren

Alternativ kann die Funktion glob.glob() in Verbindung mit dem Argument recursive=True für die rekursive Dateisuche verwendet werden:

from glob import glob

for filename in glob('src/**/*.c', recursive=True):
    print(filename) 
Nach dem Login kopieren

Für Szenarien, in denen Dateien, die mit einem Punkt beginnen (z. B. versteckte Dateien), jedoch eingeschlossen werden müssen, bietet os.walk() dies an eine praktikable 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

Mit diesen Methoden können Sie effizient durch Verzeichnisstrukturen navigieren und Dateien gemäß Ihren festgelegten Kriterien abrufen. Unabhängig davon, ob Ihre Dateien tief verschachtelt sind oder versteckte Elemente enthalten, bietet Python robuste Tools für Ihre Dateierkennungsanforderungen.

Das obige ist der detaillierte Inhalt vonWie kann ich Dateien in Python rekursiv 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage