Durchsuchen Sie Dateien und Unterordner in Python
Möchte ich Blättern Sie durch den aktuellen Ordner und alle seine Unterordner und alle Dateien, die mit .htm/.html extensions. Ich habe herausgefunden, dass es möglich ist, um herauszufinden, ob ein Objekt ein Verzeichnis oder eine Datei wie diese:
import os
dirList = os.listdir("./") # current directory
for dir in dirList:
if os.path.isdir(dir) == True:
# I don't know how to get into this dir and do the same thing here
else:
# I got file and i can regexp if it is .htm|html
und am Ende, würde ich mag, um alle Dateien und deren Pfade in einem array. Ist so etwas möglich?
Kommentar zu dem Problem
mögliche Duplikate von das traversieren durch die Dateien in einem Verzeichnis?
noch Antwort in dieser ist viel kürzer und besser.
InformationsquelleAutor der Frage Blackie123 | 2011-04-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
os.walk()
rekursiv Durchlaufen Sie ein Verzeichnis und alle seine Unterverzeichnisse:Bauen Sie eine Liste, die diese Namen verwenden, können Sie eine Liste Verständnis:
InformationsquelleAutor der Antwort Sven Marnach
Verwenden
newDirName = os.path.abspath(dir)
so erstellen Sie ein vollständiges Verzeichnis Pfadname für das Unterverzeichnis und dann die Liste dessen Inhalt, wie du getan hast mit den Eltern (d.h.newDirList = os.listDir(newDirName)
)Können Sie erstellen Sie eine separate Methode, Ihr code-snippet ein, und rufen Sie rekursiv durch die Unterverzeichnis-Struktur. Der erste parameter ist das Verzeichnis Pfadname. Dies wird sich ändern, für jedes Unterverzeichnis.
Diese Antwort basiert auf der version 3.1.1 Dokumentation der Python-Bibliothek. Es ist ein gutes Modell-Beispiel in Aktion auf Seite 228 der Python 3.1.1 Library Reference (Kapitel 10 Datei-und Verzeichniszugriff).
Viel Glück!
InformationsquelleAutor der Antwort NeonJack
Leicht veränderte version von Sven Marnach Lösung..
InformationsquelleAutor der Antwort campervancoder