Globbing e iteración
Encuentre archivos con patrones glob
Globbing e iteración es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.
Buscar archivos
pathlib facilita enumerar el contenido de los directorios y buscar archivos que coincidan con un patrón. Los métodos principales son iterdir, glob y rglob.
Configurar un árbol de ejemplo
Para explorar estos métodos, primero crearemos un directorio pequeño con varios archivos. Esta configuración utiliza únicamente la biblioteca estándar.
from pathlib import Path
root = Path('sample')
root.mkdir(exist_ok=True)
(root / 'a.txt').write_text('1')
(root / 'b.txt').write_text('2')
(root / 'c.log').write_text('3')
print('created files')iterdir enumera el contenido
iterdir() devuelve cada entrada situada directamente dentro de un directorio, una Path por elemento.
from pathlib import Path
root = Path('sample')
for entry in sorted(root.iterdir()):
print(entry.name)glob con un patrón
glob() busca entradas que coincidan con un patrón de estilo shell. El comodín * coincide con cualquier secuencia de caracteres.
from pathlib import Path
root = Path('sample')
for txt in sorted(root.glob('*.txt')):
print(txt.name)Comodín de un solo carácter
El comodín ? coincide exactamente con un carácter, lo que resulta útil para nombres de longitud fija.
from pathlib import Path
root = Path('sample')
for m in sorted(root.glob('?.txt')):
print(m.name)Rangos de caracteres
Los corchetes coinciden con cualquier carácter de un conjunto o rango, igual que en los patrones glob del shell.
from pathlib import Path
root = Path('sample')
for m in sorted(root.glob('[ab].txt')):
print(m.name)glob recursivo con rglob
rglob() busca en un directorio y en todos sus subdirectorios. Equivale a glob('**/pattern').
from pathlib import Path
root = Path('sample')
(root / 'nested').mkdir(exist_ok=True)
(root / 'nested' / 'deep.txt').write_text('x')
for m in sorted(root.rglob('*.txt')):
print(m)Contar coincidencias
Los resultados de glob son iteradores. Envuélvalos en list() para contar o reutilizar las coincidencias.
from pathlib import Path
root = Path('sample')
txts = list(root.rglob('*.txt'))
print('found', len(txts), 'text files')Filtrar durante la iteración
Combine los patrones glob con las comprobaciones is_file o is_dir para filtrar los resultados con precisión.
from pathlib import Path
root = Path('sample')
files = [p for p in root.iterdir() if p.is_file()]
for f in sorted(files):
print(f.name)Procesar los archivos encontrados
Una vez que tenga las coincidencias, puede leer cada archivo. Aquí sumaremos el contenido de todos los archivos de texto del árbol.
from pathlib import Path
root = Path('sample')
total = 0
for p in root.rglob('*.txt'):
text = p.read_text().strip()
if text.isdigit():
total += int(text)
print('total:', total)Ordenar los resultados de glob
Glob no garantiza ningún orden concreto. Envuelva los resultados en sorted() cuando necesite una salida determinista, por ejemplo, al generar un informe.
from pathlib import Path
root = Path('sample')
for p in sorted(root.glob('*'), key=lambda x: x.name):
print(p.name)Comprobación rápida
¿Cuál es la diferencia entre glob y rglob?
Resumen
Ha aprendido a buscar archivos con patrones glob.
iterdirenumera el contenido directo.globbusca coincidencias con un patrón (*,?,[...]).rglobrealiza búsquedas recursivas.- Combine los patrones glob con los filtros
is_file/is_diry lea las coincidencias.
Preguntas frecuentes
¿La lección «Globbing e iteración» es gratis?
Sí — el texto completo de «Globbing e iteración» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Globbing e iteración»?
Encuentre archivos con patrones glob Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Python Academy?
No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Globbing e iteración»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Python Academy?
Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- El objeto Path
- Lectura y escritura de archivos
- Globbing e iteración
- Manipulación de rutas