Hi zusammen,
ich möchte gern folgendes machen:
Mit dem Programm möchte in in der CMD einen Pfand eines Ordners eingeben.
Das Programm soll mir nun die Struktur anzeigen.
Mit Allen Files und Unterordner.
Und wenn dieser Unterordner einen Ordner beinhaltet auch diese Struktur vom Unterordner.
Also ungefähr so:
Testordner
-File1.txt
-File2.txt
-Testordner1
--File1.txt
--Testunterordner1
---File1.txt
---Unterordner1
----File.txt
Ich nutze dafür gerade "os.path.isdir". Er soll solange "nach unten gehen", bis es keine Unterordner mehr gibt.
Könnt ihr mir da helfen?
Vielen Dank
Grüße JohannnesGolf
Ordnerstruktur auslesen
-
- User
- Beiträge: 34
- Registriert: Montag 10. März 2014, 09:27
@BlackJack du meinst eine Funktion die sich selber immer wieder selber aufruft?
@JohannesGolf: Das ist die Bedeutung des Begriffs „rekursive Funktion“. Du hast eine rekursive Datenstruktur. Also bietet sich eine Funktion an, die eine Verzeichnisebene ausgibt, und für jedes Verzeichnis in dieser Ebene sich selbst aufruft, denn die Funktion ist ja dazu da eine Verzeichnisebene und alles darunter auszugeben. Rekursion halt. 

-
- User
- Beiträge: 728
- Registriert: Sonntag 22. September 2002, 08:32
- Wohnort: Sauerland
- Kontaktdaten:
Frage an JohannesGolf: mit welchem Betriebssystem arbeitest du? Unter UNIX/LINUX kannst du dir eine Liste per shell ausgeben lassen
Ergebnis sieht dann etwa so aus
Vorteil bei dem Verfahren ist, das du das Kommando find mit etlichen Optionen aufrufen kannst um das Ergebnis zu beeinflussen und man muss nur die Rückgabe auswerten
Code: Alles auswählen
[nor@localhost ~]$ find . "*" -type d -print
Code: Alles auswählen
./Musik
./.vim
./Videos
./.gnome2
./.thumbnails
./.thumbnails/normal
./.thumbnails/large
./.kde
./.kde/share
./.kde/share/config
./.kde/share/config/colors
./.kde/share/config/session
./.kde/share/apps
./.kde/share/apps/kdevproblemreporter
./.kde/share/apps/kdevelop
./.kde/share/apps/kdevelop/sessions
@hans: Sowohl unter Linux als auch unter Windows gibt es dafür auch ``tree``.
Code: Alles auswählen
$ tree /etc/X11
/etc/X11
├── app-defaults
│ ├── Editres
│ ├── Editres-color
│ ├── Viewres
│ ├── Viewres-color
│ ├── Xfd
│ ├── XFontSel
│ ├── Xmessage
│ ├── Xmessage-color
│ └── Xvidtune
├── fonts
│ └── misc
│ └── xfonts-base.alias
├── rgb.txt
├── Xreset
├── Xreset.d
│ └── README
├── Xresources
│ └── x11-common
├── Xsession
├── Xsession.d
│ ├── 20x11-common_process-args
│ ├── 30x11-common_xresources
│ ├── 35x11-common_xhost-local
│ ├── 40x11-common_xsessionrc
│ ├── 50x11-common_determine-startup
│ ├── 90x11-common_ssh-agent
│ └── 99x11-common_start
├── Xsession.options
└── Xwrapper.config
6 directories, 24 files