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.

44voto

Eli Bendersky Punkte 246100

Wenn Sie eine rekursive Lösung benötigen, die alle Unterverzeichnisse in den Unterverzeichnissen findet, verwenden Sie walk wie zuvor vorgeschlagen.

Wenn Sie nur die Unterverzeichnisse des aktuellen Verzeichnisses benötigen, kombinieren Sie os.listdir con os.path.isdir

35voto

NutJobb Punkte 293

Auflistung Nur Verzeichnisse ausgeben

print("\nWe are listing out only the directories in current directory -")
directories_in_curdir = list(filter(os.path.isdir, os.listdir(os.curdir)))
print(directories_in_curdir)

Nur Dateien im aktuellen Verzeichnis auflisten

files = list(filter(os.path.isfile, os.listdir(os.curdir)))
print("\nThe following are the list of all files in the current directory -")
print(files)

29voto

svelten Punkte 1289

Ich bevorzuge die Verwendung von Filtern ( https://docs.python.org/2/library/functions.html#filter ), aber das ist reine Geschmackssache.

d='.'
filter(lambda x: os.path.isdir(os.path.join(d, x)), os.listdir(d))

25voto

Charith De Silva Punkte 3420

Dies wurde mit python-os-walk implementiert ( http://www.pythonforbeginners.com/code-snippets-source-code/python-os-walk/ )

import os

print("root prints out directories only from what you specified")
print("dirs prints out sub-directories from root")
print("files prints out all files from root and directories")
print("*" * 20)

for root, dirs, files in os.walk("/var/log"):
    print(root)
    print(dirs)
    print(files)

19voto

Oscar Martin Punkte 477

Sie können die Liste der Unterverzeichnisse (und Dateien) in Python 2.7 mit os.listdir(path) erhalten

import os
os.listdir(path)  # list of subdirectories and files

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