Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich in Python effizient eine Liste der Unterverzeichnisse (alle oder nur direkt) abrufen?

Wie kann ich in Python effizient eine Liste der Unterverzeichnisse (alle oder nur direkt) abrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-02 22:47:12239Durchsuche

How Can I Efficiently Get a List of Subdirectories (All or Just Immediate) in Python?

Eine Liste der Unterverzeichnisse im aktuellen Verzeichnis abrufen: Eine umfassende Python-Lösung

In Python, wenn Sie eine umfassende Liste von Unterverzeichnissen abrufen müssen Unterverzeichnisse innerhalb des aktuellen Verzeichnisses können mehrere effektive Ansätze verwenden. Ein solcher Ansatz besteht darin, die leistungsstarke Funktion „os.walk“ zu nutzen.

Die Funktion „os.walk“ verwendet ein Verzeichnis als Eingabe, untersucht iterativ dessen Struktur und gibt für jedes Unterverzeichnis ein Tripel zurück: den Verzeichnisnamen, seine Unterverzeichnisse und seine Dateien. Um nur die Unterverzeichnisnamen abzurufen, können Sie ein Listenverständnis verwenden, um das erste Element jedes Tripels zu extrahieren:

subdirectories = [x[0] for x in os.walk(directory)]

Diese Methode durchläuft rekursiv den gesamten Verzeichnisbaum und stellt eine vollständige Liste aller Unterverzeichnisse bereit, einschließlich diejenigen, die in anderen Verzeichnissen verschachtelt sind.

Wenn sich Ihr Bedarf jedoch auf den Erhalt der unmittelbaren Unterverzeichnisse beschränkt, mit Ausnahme derjenigen in tieferen Ebenen des Verzeichnisbaum erstellen, gibt es alternative Methoden, die Ihnen dabei helfen können:

  • Sie können os.listdir verwenden, um alle Dateien und Verzeichnisse im aktuellen Verzeichnis aufzulisten und die Verzeichnisse dann mit os.path herauszufiltern. isdir:
immediate_subdirectories = [d for d in os.listdir(".") if os.path.isdir(d)]
  • Alternativ können Sie auch das leicht prägnante verwenden os.next(os.walk('.'))[1]-Ausdruck zum Abrufen einer Liste unmittelbarer Unterverzeichnisse, wie im ursprünglichen Referenzmaterial gezeigt.

Durch den Einsatz dieser Techniken können Sie effizient arbeiten Erhalten Sie eine Liste entweder aller Unterverzeichnisse oder nur der unmittelbaren Unterverzeichnisse im aktuellen Verzeichnis in Python, sodass Sie bei Bedarf effektiv in der Verzeichnisstruktur navigieren und mit ihr interagieren können.

Das obige ist der detaillierte Inhalt vonWie kann ich in Python effizient eine Liste der Unterverzeichnisse (alle oder nur direkt) abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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