Ordnerinhalt löschen

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
Bettina76
User
Beiträge: 12
Registriert: Dienstag 13. August 2013, 15:42

Hallo zusammen,
eine einfache Frage von einem Python-Anfänger an einen Python-Experten:
Gibt's eine einfache Methode den Inhalt eines Ordners zu löschen, ohne dabei den Ordner selbst zu löschen? Welchen Python-Befehl kann ich denn hier verwenden?
Kann man hier bitte jemand weiterhelfen. Vielen Dank!
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Code: Alles auswählen

import os

for filename in os.listdir(pfad_zum_ordner):
    os.remove(filename)
Falls dein Ordner seinerseits Ordner enthält (also Unterverzeichnisse), dann wird der Code etwas komplizierter, da Verzeichnisse anders behandelt werden müssen. Eine Funktion, die das alles in einem Rutsch erledigt, gibt es meines Wissens nach nicht. Das muss man wohl selber schreiben.
Bettina76
User
Beiträge: 12
Registriert: Dienstag 13. August 2013, 15:42

Vielen Dank für die schnelle Antwort!
Genau das hab ich gesucht. Da hast Du mir sehr weitergeholfen
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@snafu: korrekter weise ja

Code: Alles auswählen

import os

for filename in os.listdir(pfad_zum_ordner):
    os.remove(os.path.join(pfad_zum_ordner, filename))
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@Sirius3: Stimmt.

EDIT: Ich habe shutil.rmtree() unterschlagen. Dieser Funktion muss man einfach den gewünschten Pfad übergeben und es wird dann alles von diesem Pfad an inklusive möglicher Unterverzeichnisse gelöscht - vorausgesetzt natürlich, dass man die entsprechenden Rechte dazu hat.
Antworten