Comprobación de existencia de archivos y directorios en Python – Guía práctica
Comprobación de existencia de archivos y directorios en Python – Guía práctica
Por qué importa comprobar la existencia de rutas
Al construir aplicaciones robustas en Python, a menudo necesitas confirmar si un archivo o directorio está presente antes de realizar operaciones como lectura, escritura o eliminación. Saltar esta comprobación puede llevar a errores en tiempo de ejecución y caídas inesperadas. Esta guía cubre los métodos más fiables, basados en la documentación oficial de Python y patrones de mejores prácticas.
Usando os.path.exists()
El módulo os.path, parte de la biblioteca estándar, proporciona una función exists() directa que devuelve True si una ruta se refiere a un archivo o directorio existente. Es el método más usado para comprobaciones simples de existencia.
import os
from os import path
print(path.exists('guru99.txt')) # True si el archivo existe
print(path.exists('miDirectorio')) # True si el directorio existe
Caso de uso típico
def verificar_item(ruta_str):
if path.exists(ruta_str):
print(f"{ruta_str} existe.")
else:
print(f"{ruta_str} no existe.")
Distinguir archivos de directorios
Para identificar el tipo específico de una ruta existente, Python ofrece dos funciones complementarias: isfile() e isdir(). Devuelven True solo si la ruta es un archivo regular o un directorio, respectivamente.
print(path.isfile('guru99.txt')) # True si es un archivo
print(path.isdir('miDirectorio')) # True si es un directorio
Aprovechando pathlib – El enfoque moderno
Introducido en Python 3.4, el módulo pathlib ofrece una interfaz orientada a objetos para rutas del sistema de archivos. Sus objetos Path proporcionan métodos como exists(), is_file() y is_dir(), que muchos desarrolladores encuentran más legibles.
from pathlib import Path
ruta_archivo = Path('guru99.txt')
print(ruta_archivo.exists()) # True si el archivo o directorio existe
print(ruta_archivo.is_file()) # True si es un archivo regular
print(ruta_archivo.is_dir()) # True si es un directorio
Mejores prácticas recomendadas
- Importa el módulo una vez; evita importaciones repetitivas.
- Usa objetos
Pathpara nuevos proyectos para beneficiarte de una sintaxis más clara. - Al realizar operaciones de escritura, verifica la existencia primero para evitar sobrescribir o para crear directorios con
Path.mkdir(). - Maneja excepciones
FileNotFoundErroral acceder a rutas que pueden cambiar entre comprobaciones y operaciones.
Referencia rápida
| Función | Devuelve True si |
|---|---|
os.path.exists() | Existe la ruta o directorio |
os.path.isfile() | La ruta es un archivo regular existente |
os.path.isdir() | La ruta es un directorio existente |
pathlib.Path.exists() | Existe la ruta o directorio (Python 3.4+) |
pathlib.Path.is_file() | La ruta es un archivo regular existente |
pathlib.Path.is_dir() | La ruta es un directorio existente |
Para documentación detallada, consulta los módulos oficiales os.path y pathlib.
python
- Verifica y calibra tu sensor de humedad para mediciones precisas
- Guía Completa para Inspeccionar Frenos Industriales para Seguridad y Eficiencia
- Entrada/Salida de Archivos en Python: Dominando Operaciones de Lectura, Escritura y Gestión
- Dominando Operaciones de Directorios y Archivos en Python
- Obtener la Fecha y Hora Actual en Python: Guía Práctica
- Función print() en Python: Guía Práctica con Ejemplos
- Print en Python sin salto de línea: dominando el parámetro end y otras técnicas
- Python JSON: Codificación, decodificación y manejo de archivos – Guía práctica
- Calculando Promedios en Python: Guía Práctica con Múltiples Métodos
- Guía completa para configurar tu entorno de desarrollo Python
- Entrada/Salida de Archivos en Python: Domina las Operaciones I/O