Pon a prueba tus habilidades en todos nuestros servicios de Hosting y ¡obtén un 15% de descuento!

Utiliza el código al pagar:

Skills
03.06.2025

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

  1. Abra una sesión interactiva de Python escribiendo
    python3

    (Utilice python si así es como está configurado Python en su sistema, pero python3 suele ser el comando recomendado para Python 3.x).

  2. 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

  1. Crea un nuevo archivo usando un editor de texto como nano
    nano remove_file.py
  2. Copia y pega el siguiente código en el archivo (script de abajo)
  3. Ahora puede ejecutar su script Python desde el terminal
    python3 remove_file.py

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}')

Salida:

Eliminación de un directorio vacío

Paso 1: Crear un directorio

En primer lugar, cree un directorio vacío llamado example_dir. Para ello, utilice el siguiente comando

mkdir example _dir

Paso 2: Crear un script Python

Ahora necesitas crear un script Python que contendrá el código para borrar el directorio vacío. Puede utilizar un editor de texto como nano para crear el script

  1. Abre nano y crea un nuevo archivo Python
    nano remove_directory.py
  2. Copia y pega el siguiente código en el archivo (código de abajo)
  3. Ahora ejecute el script Python que acaba de crear
    python3 remove_directory.py

###ATP_PRO_NOTR_8_CODE_TAG_NOTR_ATP_PRO##Salida

Utilización del módulo shutil

Paso 1: Crear un directorio con el contenido

En primer lugar, cree un directorio llamado example_dir_with_content y añádale algunos archivos. Esto puede hacerse utilizando los siguientes comandos

mkdir example_dir_with_content
touch example_dir_with_content/file1.txt
touch example_dir_with_content/file2.txt

Paso 2: Crear un script Python

Ahora necesitas crear un script Python que contenga el código para borrar el directorio y su contenido. Puede utilizar un editor de texto como nano para crear el script

  1. Abre nano y crea un nuevo archivo Python
    nano remove_directory_content.py
  2. Copia y pega el siguiente código en el archivo (código de abajo)
  3. Ahora ejecute el script Python que acaba de crear
    python3 remove_directory_content.py

Utilice shutil.rmtree() para eliminar los directorios con contenido

###ATP_PRO_NOTR_12_CODE_TAG_NOTR_ATP_PRO##Salida

Uso del módulo pathlib

elmódulo pathlib proporciona una interfaz moderna para las rutas del sistema de archivos

Borrar un fichero

from pathlib import Path
file_path = Path('example.txt')
try:
file_path.unlink()
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}')
Salida

Eliminación de un directorio vacío

from pathlib import Pathdirectory_path = Path('example_dir'
try:
directory_path.rmdir() # This will only work if the directory is empty
print(f'Successfully deleted directory {directory_path}')
except FileNotFoundError:
print(f'The directory {directory_path} does not exist')
except OSError:
print(f'The directory {directory_path} is not empty')
except Exception as e:
print(f'An error occurred: {e}')
Salida:

Gestión eficaz de errores

Cuando se trabaja con operaciones de archivo, es muy importante manejar las excepciones con gracia para evitar que el programa se bloquee. Las excepciones más comunes son

  • FileNotFoundError: Ocurre cuando se intenta borrar un archivo o directorio inexistente.
  • PermissionError: Se produce cuando un usuario carece de los permisos necesarios para eliminar un archivo o directorio.
  • OSError: Ocurre cuando se producen varios errores relacionados con el sistema operativo, incluyendo un intento de eliminar un directorio no vacío.

Conclusión

En este tutorial, hemos cubierto cómo usar módulos de Python como os, shutil, y pathlib para borrar archivos y directorios. Cada módulo tiene ventajas únicas, y entender cómo usarlos eficazmente ampliará tu capacidad para gestionar sistemas de archivos en tus aplicaciones. Dominando estas técnicas, serás capaz de automatizar tareas de gestión de archivos, trabajar con archivos de forma más intuitiva y escribir scripts robustos que interactúen con el sistema de archivos

Pon a prueba tus habilidades en todos nuestros servicios de Hosting y ¡obtén un 15% de descuento!

Utiliza el código al pagar:

Skills