987 Stimmen

Abrufen einer Liste aller Unterverzeichnisse im aktuellen Verzeichnis

Gibt es eine Möglichkeit, eine Liste aller Unterverzeichnisse im aktuellen Verzeichnis in Python zurückzugeben?

Ich weiß, dass man das mit Dateien machen kann, aber ich muss stattdessen die Liste der Verzeichnisse bekommen.

10voto

Mujeeb Ishaque Punkte 1480

So mache ich es.

    import os
    for x in os.listdir(os.getcwd()):
        if os.path.isdir(x):
            print(x)

9voto

Blairg23 Punkte 9968

Auf der Grundlage von Eli Benderskys Lösung können Sie folgendes Beispiel verwenden:

import os
test_directory = <your_directory>
for child in os.listdir(test_directory):
    test_path = os.path.join(test_directory, child)
    if os.path.isdir(test_path):
        print test_path
        # Do stuff to the directory "test_path"

donde <your_directory> ist der Pfad zu dem Verzeichnis, das Sie durchlaufen wollen.

7voto

DevPlayer Punkte 5017

Mit vollem Pfad und Berücksichtigung des Pfades als . , .. , \\ , ..\\..\\subfolder , usw:

import os, pprint
pprint.pprint([os.path.join(os.path.abspath(path), x[0]) \
    for x in os.walk(os.path.abspath(path))])

7voto

Amir Afianian Punkte 2166

Der einfachste Weg:

from pathlib import Path
from glob import glob

current_dir = Path.cwd()
all_sub_dir_paths = glob(str(current_dir) + '/*/') # returns list of sub directory paths

all_sub_dir_names = [Path(sub_dir).name for sub_dir in all_sub_dir_paths]

5voto

Andrew Punkte 3305

Diese Antwort schien es noch nicht zu geben.

directories = [ x for x in os.listdir('.') if os.path.isdir(x) ]

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X