Borrar archivos y directorios en Python ⋆ ALexHost SRL
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

En Python, trabajar con archivos y directorios es una tarea común, especialmente para aplicaciones que requieren la manipulación de archivos. Este tutorial se centra en métodos avanzados para borrar archivos y directorios utilizando varios módulos de Python, incluyendo os, shutil y pathlib. Cada uno de estos módulos proporciona una funcionalidad diferente para trabajar con el sistema de archivos, lo que le permite gestionar eficazmente archivos y directorios. Para descargar Python, visite el siguiente enlace de la fuente oficial python.org.

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 eliminación 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 borrar archivos y directorios directamente en el servidor

Características principales:

  • os.remove(ruta): Elimina la ruta a un fichero.
  • 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 especialmente ú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 las 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 fichero.
  • 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

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

  2. Copia y pega el código directamente en la sesión interactiva (script de abajo)

pájaro B: Escribir en un archivo de script Python

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

Eliminar 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 ejemplo_dir

Paso 2: Crear un script Python

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

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

import os
directory_path = 'example_dir'
try:
os.rmdir(directory_path)

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:

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 se puede hacer 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. Puedes utilizar un editor de texto como nano para crear el script.

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

Usa shutil.rmtree() para eliminar directorios con contenido:

import shutil
'example_dir_with_content'
try:
shutil.rmtree(directory_path)
print(f'Successfully deleted directory {directory_path} and its contents')
except FileNotFoundError:
print(f'The directory {directory_path} does not exist')
except PermissionError:
print(f'Permission denied: unable to delete {directory_path}')
except Exception as e:
print(f'An error occurred: {e}')

Salida:

Utilización del módulo pathlib

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

Eliminación de un archivo

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:

Borrar 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:

Tratamiento 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