Verzeichnis rekursiv löschen

Mit dieser Funktion kann ein Verzeichnis inklusive Unterverzeichnisse komplett gelöscht werden.

import pathlib

def rm_tree(path_to_delete: pathlib.Path) -> None:     """     Deletes a directories with all subdirectories.
    :param path_to_delete: directory to be complete deleted     :return: None     """
    for child in path_to_delete.iterdir():         if child.is_file():             child.unlink(missing_ok=True)         else:             rm_tree(child)     path_to_delete.rmdir()

 

Beispiel für Aufruf:

base_dir = pathlib.Path('testdir')
rm_tree(base_dir)