Una de las cosas que es necesario aprender como programador Python es a gestionar múltiples archivos al mismo tiempo, pero esto puede ser dificultoso si necesitas buscar patrones específicos dentro de directorios. En este sentido, el módulo glob y su importación, import glob, en Python, pueden sernos de gran utilidad. Por eso, en el artículo de hoy quiero mostrarte qué es import glob y cómo usarlo correctamente para sacarle el mayor rendimiento.
¿Qué es import glob?
El módulo glob es una herramienta que nos permite buscar archivos y directorios cuyo nombre coincide con algún patrón específico. Este utiliza una sintaxis similar a la de las terminales de Unix, como los comodines asterisco (*), interrogación (?) y rangos entre corchetes ([]). Al importar el módulo glog por medio de la instrucción import glob, podrás acceder a sus funciones que te permiten listar rutas de archivos y realizar búsquedas más avanzadas sin necesidad de escribir código complejo.
Algunas de las características más apreciadas de import glob son:
- Busca archivos y directorios que coincidan con patrones específicos.
- Permite búsquedas recursivas a través de subdirectorios.
- Incluye opciones para trabajar con directorios ocultos o rutas personalizadas.
- Facilita la interacción con sistemas de archivos sin necesidad de escribir scripts complejos.
¿Cómo se usa import glob?
Usar glob se basa principalmente en la función glob.glob, que devuelve una lista de rutas que coinciden con el patrón especificado. Veamos un ejemplo:
import glob
# Listar todos los archivos .txt en el directorio actual
archivos_txt = glob.glob("*.txt")
print(archivos_txt)
En este caso glob busca todos los archivos con extensión .txt en el directorio actual y devuelve una lista con sus nombres.
Uso de comodines en glob
El módulo glob soporta varios comodines que puedes usar para definir patrones de búsqueda, entre ellos:
- Asterisco (*): Coincide con cualquier cantidad de caracteres.
- Interrogación (?): Coincide con un único carácter.
- Corchetes ([]): Coinciden con cualquier carácter dentro del rango especificado.
🔴 ¿Quieres Aprender a Programar con Python? 🔴
Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semanaAportemos un ejemplo para entenderlo mejor:
import glob
# Listar archivos que empiezan con "archivo" y terminan en ".txt"
archivos = glob.glob("archivo*.txt")
print(archivos)
# Buscar archivos con un solo carácter antes de la extensión
archivos_corto = glob.glob("?.txt")
print(archivos_corto)
Búsqueda recursiva con glob
Las búsquedas recursivas son un proceso que hace posible la exploración de directorios y subdirectorios automáticamente con la finalidad de localizar archivos que coincidan con un patrón específico. Esto evita la laboriosa tarea de recorrer carpetas manualmente y nos sirve para gestionar cantidades enormes de datos o sistemas de archivos jerárquicos.
Una de las funciones más útiles y más usadas de glob es la capacidad de realizar búsquedas recursivas en subdirectorios utilizando el patrón **. Usa esto para trabajar con estructuras de carpetas complejas:
import glob
# Buscar archivos .txt en el directorio actual y subdirectorios
archivos_recursivos = glob.glob("**/*.txt", recursive=True)
print(archivos_recursivos)
Al activar el parámetro recursive en True, glob explorará todos los subdirectorios en busca de coincidencias.
Diferencias entre glob y otras herramientas de Python
Aunque glob es muy útil, no es la única opción para trabajar con archivos en Python. Por ejemplo, pathlib también ofrece métodos para buscar archivos, y os.scandir puede ser más rápido en ciertos casos. No obstante, glob es mejor en aspectos de simplicidad y la familiaridad de su sintaxis para quienes ya han trabajado con terminales Unix. Veamos una comparativa más clara:
Aspecto | glob | pathlib | os.scandir |
---|---|---|---|
Sintaxis | Intuitiva, basada en comodines | Más detallada, requiere métodos específicos | Más técnica, orientada al rendimiento |
Facilidad de uso | Ideal para búsquedas simples y medianas | Más adecuada para proyectos complejos | Más compleja de implementar |
Velocidad | Razonablemente rápida | Moderada | Alta en búsquedas masivas |
Compatibilidad | Ampliamente compatible con versiones de Python | Incluida en Python 3.4 y posteriores | Compatibilidad estándar |
Casos de uso | Buscar archivos con patrones específicos | Gestión avanzada de rutas y archivos | Optimización en sistemas de archivos grandes |
Si quieres seguir aprendiendo sobre temáticas como esta y escalar en el mundo de la programación, te invitamos a seguir nuestro bootcamp en programación inicial, que te prepara para tu entrada al mundo laboral y te aporta los conocimientos necesarios para triunfar en el sector tecnológico. ¡Apúntate hoy mismo y sigue evolucionando con KeepCoding!