Ordner in Ordnern erkennen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Kamik423
User
Beiträge: 93
Registriert: Donnerstag 28. März 2013, 16:53

Ich habe die Frage schon mal gestellt:
http://www.python-forum.de/viewtopic.php?f=1&t=31293
mit dem Code daraus

Code: Alles auswählen

from os import listdir
from os.path import isfile, join
onlyfiles = [ f for f in listdir(mypath) if isfile(join(mypath,f)) ]
kann man nur Anwendungen erkennen, wie findet man weitere Ordner in diesem Ordner?
Danke im Vorraus

Kamik423
0x4c65742773206d616b652073757265207468617420686973746f7279206e6576657220666f726765747320746865206e616d6520656e746572707269736521
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Ich vermute stark du suchst eigentlich nach os.walk.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Kamik423
User
Beiträge: 93
Registriert: Donnerstag 28. März 2013, 16:53

Aber das durchsucht die ganze Struktur, nicht nur die Datei.
(Angenommen ich habe eine Datei: "D:\Bilder" in der sind "bild.png" und "2012"(ordner), dann hätte ich gerne ["bild.png" und "2012"])

Kamik423
0x4c65742773206d616b652073757265207468617420686973746f7279206e6576657220666f726765747320746865206e616d6520656e746572707269736521
Kamik423
User
Beiträge: 93
Registriert: Donnerstag 28. März 2013, 16:53

OK. hat sich erledigt

Code: Alles auswählen

from os import listdir
from os.path import isfile, join
onlyfiles = [ f for f in listdir(mypath) if isfile(join(mypath,f)) ]
-->

Code: Alles auswählen

from os import listdir
from os.path import isfile, join
onlyfiles = [ f for f in listdir(mypath)]
0x4c65742773206d616b652073757265207468617420686973746f7279206e6576657220666f726765747320746865206e616d6520656e746572707269736521
BlackJack

@Kamik423: Da kannst Du dann noch die nun überflüssige „list comprehension” weg lassen, welche die Elemente der Liste die `listdir()` liefert, ohne Grund in eine weitere Liste kopiert. Und der Name `onlyfiles` ist jetzt natürlich falsch.
Dami123
User
Beiträge: 225
Registriert: Samstag 23. Februar 2013, 13:01

Wie wäre es mit:

Code: Alles auswählen

import os
names = os.listdir(mypath)
?
Antworten