Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich mit Python alle Dateien in einem Verzeichnis rekursiv auflisten?

Wie kann ich mit Python alle Dateien in einem Verzeichnis rekursiv auflisten?

Barbara Streisand
Freigeben: 2024-12-19 17:21:10
Original
872 Leute haben es durchsucht

How Can I Recursively List All Files in a Directory Using Python?

Rekursives Durchlaufen von Dateien

Das rekursive Durchlaufen von Verzeichnisstrukturen zum Auflisten aller Dateien ist eine häufige Programmieranforderung. Lassen Sie uns in diesem Zusammenhang untersuchen, wie Sie dies in Python effizient erreichen können.

Ein Ansatz ist die Verwendung der Methode pathlib.Path().rglob(), die in Python 3.5 eingeführt wurde. Es bietet eine bequeme Möglichkeit, alle Dateien zu identifizieren, die einem bestimmten Muster in einem Verzeichnis und seinen Unterverzeichnissen entsprechen:

from pathlib import Path

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

Wenn Sie lieber das Glob-Modul verwenden, können Sie dessen glob()-Funktion mit recursive=True nutzen Argument:

from glob import glob

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

Eine weitere Option, die mit älteren Python-Versionen kompatibel ist, beinhaltet die Verwendung von os.walk() für rekursive Durchquerung und fnmatch.filter() für Mustervergleich:

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

Die os.walk()-Technik kann sich in Szenarien mit umfangreichen Dateizahlen aufgrund des geringeren Overheads im Zusammenhang mit dem Pathlib-Modul als schneller erweisen.

Welchen Ansatz Sie auch wählen, Diese Methoden werden Ihnen effektiv dabei helfen, Dateien in einem bestimmten Verzeichnis und seinen Unterordnern rekursiv zu identifizieren und aufzulisten.

Das obige ist der detaillierte Inhalt vonWie kann ich mit Python alle Dateien in einem Verzeichnis rekursiv auflisten?. 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