Alle Unterordner eines Ordners anzeigen lassen Python3?

2 Antworten

import os
folder = "C:\\Windows\\"
subfolders = [f for f in os.listdir(folder) if os.path.isdir(os.path.join(folder, f))]
Muenze3006co 
Fragesteller
 29.11.2019, 15:49

Geht es noch anders...???

0
Isendrak  29.11.2019, 15:51
@Muenze3006co

Ja, z.B. so:

import os
folder = "C:\\Windows\\"
subfolders = next(os.walk(folder))[1]
1
Isendrak  29.11.2019, 16:02
@Muenze3006co

Wenn du es dir unbedingt bis zum Erbrechen verkomplizieren willst, dann könntest du evtl. versuchen, das Modul ctypes zu verwenden um eine der vom Betriebssystem selbst breitgestellten API-Funktionen direkt aufzurufen.

Das oder du bekommst es irgendwie auf die Reihe, direkt auf die Rohdaten des Laufwerks zuzugreifen und schaffst es dann auch noch, die Partitionstabelle, den Dateisystemheader und dann noch die einzelnen Metadaten des betreffenden Dateisystems auszulesen und auszuwerten um erstmal den gewĂŒnschetn Ordner zu finden und dann auch noch aus dessen EintrĂ€gen diejenigen rauszufiltern, die ebenfalls Ordner sind.

Oder aber du machst es dir ganz einfach und spezifizierst und implementierst ein eigenes Dateisystem, in dem das Konzept von Ordnern nicht existiert und verwendest ausschließlich dieses als Definitionsbereich deiner Ordnersuche. ^^

0
Isendrak  29.11.2019, 16:05
@Muenze3006co

Oder aber, du verwendest die Methode, die andie00 in seiner Antwort beschreibt und liest, wenn du schonmal dabei bist, auch die Dokumentation zu glob, bevor du hier noch eine weitere Frage wie z.B. "Alle Unterordner und Dateien anzeigen lassen Python3?" stellst.

0
Muenze3006co 
Fragesteller
 29.11.2019, 16:08
@Isendrak

Aber ist Das bei andie00 auch richtig werden dann z.b. Unterorder in einem Unterordner aufgelistet?

0
Isendrak  29.11.2019, 16:13
@Muenze3006co

Was genau willst du denn? Nur die Unterordner oder auch die Unterordner der Unterordner der Unterordner der Unterordner usw...?

Falls erseteres: Da gibt es zwischen meiner und andie00s Antwort keinen großen Unterschied.

Falls zweiteres:

import os
folder = "C:\\Windows\\"
subfolders = []
for step in os.walk(folder):
    for subfolder in step[1]:
        subfolders.append(os.path.join(step[0], subfolder))
0
import glob
glob.glob("Verzeichnis/*/")