Borrar archivos y directorios en Python
Eliminación avanzada de archivos y directorios en Python en AlexHost VPS
¿Por qué dominar la eliminación de archivos en Python? La gestión de archivos y directorios es una tarea fundamental para los desarrolladores, especialmente en un VPS Linux AlexHost que aloja aplicaciones dinámicas o plataformas CMS como WordPress. Los módulos os, shutil, y pathlib de Python hacen que la eliminación de archivos y directorios sea eficiente y segura, con los SSDs de AlexHost y el acceso root asegurando el máximo rendimiento. Esta guía cubre los métodos avanzados de eliminación, con gestión de errores, para la gestión de archivos sin problemas.
Entender los módulos
1. Módulo os
El módulo os permite utilizar funciones dependientes del sistema operativo, como la lectura o escritura en el sistema de archivos. Incluye funciones de borrado de archivos y directorios. El uso del módulo os en un entorno de alojamiento VPS Linux proporciona un control efectivo sobre la gestión de archivos y otras operaciones a nivel de sistema. Este módulo permite a los desarrolladores realizar acciones como leer, escribir y eliminar archivos y directorios directamente en el servidor
Características principales:
- os.remove(ruta): Elimina la ruta a un archivo.
- os.rmdir(ruta): Elimina (destruye) la ruta a un directorio. El directorio debe estar vacío.
- os.unlink(ruta): Otro nombre para la función os.remove() utilizada para eliminar un archivo.
2. Módulo shutil
El módulo shutil ofrece una interfaz de alto nivel para trabajar con ficheros. Es particularmente útil para copiar y borrar directorios y archivos
Características principales:
- shutil.rmtree(ruta): Elimina recursivamente un directorio y todo su contenido, incluidos subdirectorios y archivos.
- shutil.move(src, dst): Mueve un archivo o directorio a otra ubicación. También se puede utilizar para eliminar archivos moviéndolos a un directorio inexistente.
3. Módulo Pathlib
El módulo pathlib proporciona un enfoque orientado a objetos para trabajar con rutas del sistema de archivos. Este módulo apareció en Python 3.4 y se considera más intuitivo y fácil de leer
Características principales:
- Path.unlink(): Elimina el archivo.
- Path.rmdir(): Elimina un directorio vacío.
- Ruta.rmtree(): Para eliminar un directorio y su contenido, shutil.rmtree() se utiliza normalmente junto con Path.
Métodos avanzados para borrar archivos y directorios
Uso del módulo os
A continuación se explica cómo utilizar el módulo os para borrar ficheros y directorios
Opción A: Ejecutando en Python Interactivo
- Abra una sesión interactiva de Python escribiendo
(Utilice python si así es como está configurado Python en su sistema, pero python3 suele ser el comando recomendado para Python 3.x).
- Copie y pegue el código directamente en la sesión interactiva (script a continuación)
pájaro B: Escribir en un archivo de script Python
- Crea un nuevo archivo usando un editor de texto como nano
- Copia y pega el siguiente código en el archivo (script de abajo)
- Ahora puede ejecutar su script Python desde el terminal
Eliminación de un único archivo
import os
file_path = 'example.txt'
try:
os.remove(file_path)
print(f'Successfully deleted {file_path}')
except FileNotFoundError:
print(f'The file {file_path} does not exist')
except PermissionError:
print(f'Permission denied: unable to delete {file_path}')
except Exception as e:
print(f'An error occurred: {e}')