Cómo utilizar el módulo glob de Python para buscar archivos por patrón
El módulo glob
de Python es una herramienta potente para buscar archivos y directorios que coincidan con un patrón específico. Es particularmente útil cuando necesitas buscar archivos con extensiones o nombres específicos en un directorio. Este artículo te guiará en el uso del módulo glob
para localizar archivos de manera eficiente.
Introducción al módulo glob
El módulo glob
proporciona una forma de listar archivos y directorios utilizando comodines de estilo shell de Unix. Esto resulta útil para tareas como búsquedas de archivos, procesamiento por lotes y más. El módulo incluye funciones que permiten hacer coincidir nombres de archivos con patrones, lo que facilita la administración de archivos.
Uso básico de glob
Para utilizar el módulo glob
, deberá importarlo y luego utilizar la función glob.glob()
para buscar archivos que coincidan con un patrón. Los patrones que utilice pueden incluir comodines como *
(coincide con cualquier número de caracteres) y ?
(coincide con un solo carácter).
Ejemplos
Cómo encontrar archivos con una extensión específica
Por ejemplo, para encontrar todos los archivos con la extensión .txt
en un directorio, puede utilizar:
import glob
# Find all .txt files in the current directory
txt_files = glob.glob('*.txt')
print(txt_files)
Cómo encontrar archivos en un subdirectorio
Para encontrar todos los archivos con una extensión específica en un subdirectorio, especifique el subdirectorio en el patrón:
import glob
# Find all .jpg files in the 'images' subdirectory
jpg_files = glob.glob('images/*.jpg')
print(jpg_files)
Uso de comodines
Los comodines pueden ayudarle a encontrar una gama más amplia de archivos. Por ejemplo, para buscar todos los archivos de texto que comiencen con "report":
import glob
# Find all files starting with 'report' and ending with .txt
report_files = glob.glob('report*.txt')
print(report_files)
Cómo encontrar archivos con múltiples extensiones
También puedes usar glob
para buscar archivos con múltiples extensiones utilizando un patrón que incluya múltiples coincidencias de comodines:
import glob
# Find all .txt and .md files
files = glob.glob('*.txt') + glob.glob('*.md')
print(files)
Uso avanzado
Además de los patrones simples, el módulo glob
admite patrones más complejos. Por ejemplo, puede utilizar patrones como **
para buscar directorios de forma recursiva.
Búsqueda recursiva
Para buscar archivos de forma recursiva en todos los subdirectorios, utilice el patrón **
junto con el argumento recursive=True
:
import glob
# Find all .py files in the current directory and subdirectories
py_files = glob.glob('**/*.py', recursive=True)
print(py_files)
Conclusión
El módulo glob
es una herramienta esencial para gestionar archivos en Python, que permite buscar archivos mediante patrones con facilidad. Ya sea que trabaje con tipos de archivos específicos, busque en directorios o realice búsquedas complejas, glob
ofrece una solución simple y eficaz.