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.
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.
Da ich bei der Verwendung von Python 3.4 und Windows UNC-Pfaden über dieses Problem gestolpert bin, hier eine Variante für diese Umgebung:
from pathlib import WindowsPath
def SubDirPath (d):
return [f for f in d.iterdir() if f.is_dir()]
subdirs = SubDirPath(WindowsPath(r'\\file01.acme.local\home$'))
print(subdirs)
Pathlib ist neu in Python 3.4 und macht die Arbeit mit Pfaden unter verschiedenen Betriebssystemen viel einfacher: https://docs.python.org/3.4/library/pathlib.html
Diese Frage ist jedoch schon vor langer Zeit beantwortet worden. Ich möchte empfehlen, die pathlib
Modul, da dies ein robuster Weg ist, um unter Windows und Unix OS zu arbeiten.
Um also alle Pfade in einem bestimmten Verzeichnis einschließlich der Unterverzeichnisse zu erhalten:
from pathlib import Path
paths = list(Path('myhomefolder', 'folder').glob('**/*.txt'))
# all sorts of operations
file = paths[0]
file.name
file.stem
file.parent
file.suffix
usw.
Danke für die Tipps, Leute. Ich bin auf ein Problem mit Softlinks (unendliche Rekursion) gestoßen, die als Verzeichnisse zurückgegeben werden. Softlinks? Wir wollen keine stinkenden Softlinks! Also...
Dabei wurden nur die Verzeichnisse gerendert, nicht die Softlinks:
>>> import os
>>> inf = os.walk('.')
>>> [x[0] for x in inf]
['.', './iamadir']
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.