Cómo usar wildcards en la verificación de existencia de archivos con Python

En este post, vamos a explorar cómo es posible modificar una función de verificación para que acepte comodines o «wildcards» en el nombre del archivo. Inicialmente, se estaba utilizando un enfoque directo con `os.path.exists`, lo cual solo permite coincidencias exactas y limita bastante la flexibilidad.

La solución: usar glob

El cambio clave aquí es incorporar el módulo estándar de Python llamado glob. En lugar de construir una ruta rígida, se construye un patrón que puede ser pasado directamente a glob.glob().

class InstaFileExist: def execute(self, file_path, file_name, file_extension): # Construir patrón pattern = file_path if file_name: pattern = os.path.join(pattern, file_name) else: pattern = os.path.join(pattern, «*») if file_extension: pattern = pattern + «.» + file_extension # Buscar coincidencias matches = glob.glob(pattern) for m in matches: if os.path.isfile(m): return (True,) return (False,)
Diagram illustrating Python code logic with wildcards and glob.glob
Visual guide showing how to use wildcards in file existence functions.

Esta implementación mantiene una compatibilidad excelente: si el usuario pasa un nombre exacto como "image_001", funciona igual de bien que si utiliza patrones complejos.

Optimización de rendimiento

Para casos donde se necesite mayor eficiencia en carpetas grandes, también se puede implementar el uso de glob.iglob(). Esta variante permite una iteración «lazy», evitando cargar todas las coincidencias a la memoria de golpe.