delete - shutil python install
shutil.rmtree para eliminar archivos de solo lectura (1)
Después de más investigación, lo siguiente parece funcionar:
def del_rw(action, name, exc):
os.chmod(name, stat.S_IWRITE)
os.remove(name)
shutil.rmtree(path, onerror=del_rw)
En otras palabras, elimine realmente el archivo en la función onerror. (Es posible que deba buscar un directorio en el controlador onerror y usar rmdir en ese caso; no lo necesitaba, pero puede que sea algo específico sobre mi problema.
Quiero usar shutil.rmtree
en Python para eliminar un directorio. El directorio en cuestión contiene un directorio de control .git
, que git marca como de solo lectura y oculto.
El indicador de solo lectura hace que rmtree
falle. En Powershell, haría "del-force" para forzar la eliminación de la marca de solo lectura. ¿Hay un equivalente en Python? Realmente preferiría no caminar el árbol entero dos veces, pero el argumento de un error a rmtree no parece volver a intentar la operación, por lo que no puedo usar
def set_rw(operation, name, exc):
os.chmod(name, stat.S_IWRITE)
shutil.rmtree(''path'', onerror=set_rw)