¿Cómo eliminar una carpeta en python? rmtree onerror

Hace poco tuve este problema: necesitaba una función que elimine una carpeta completamente en Windows, así que busqué y esto es lo que obtengo:

¿Cómo elimino / borro una carpeta que no está vacía con Python? vacío con python

Las respuestas, que parecen estar bien, parecen un poco confusas y grandes para mí … debería haber una mejor manera de resolver el error de conexión al acceder a los archivos en Windows con shutil.rmtree (genera un error al intentar acceder a los archivos de solo lectura) .

Quiero compartir una manera fácil que funcione para mí.

Acabo de hacer una función que cambia el modo de permiso de escritura del archivo y luego lo borra con os.remove :

 import stat # needed for file stat # arguments: the function that failed, the path # it failed on, and the error that occurred. def redo_with_write(redo_func, path, err): os.chmod(path, stat.S_IWRITE) redo_func(path) 

luego, cuando use rmtree , agréguelo al parámetro onerror :

 import shutil shutil.rmtree(desiredpath, onerror = redo_with_write) 

Espero que ayude a alguien con el mismo problema que tengo.