Veröffentlicht: 03.05.2010

Python: Verzeichnis rekursiv leeren

Mit dem folgenden Code Schnipsel kann man in Python ein Verzeichnis rekursiv leeren. Abhängig davon ob es sich um eine Datei, ein Verzeichnis oder eine Verknüpfung handelt, wird die entsprechende Methode zum entfernen aufgerufen.

for pathentry in os.walk('/path/to/dir', False):
	for dir in pathentry[1]:
		path = os.path.join(pathentry[0], dir)
		if os.path.islink(path):
			os.unlink(path)
		else:
			os.rmdir(path)

	for file in pathentry[2]:
		path = os.path.join(pathentry[0], file)
		os.unlink(path)

Möchte man das Hauptverzeichnis anschließend auch noch löschen, reicht ein simples

os.rmdir('/path/to/dir');