Python de Cero a Experto / Ruta scripting
Un script que organiza carpetas
Hora de tu primer script de automatización REAL: un organizador que toma una carpeta llena de archivos desordenados y los clasifica en subcarpetas según su tipo (imágenes, documentos, música), todo de una pasada. Es el clásico "ordena mi carpeta de descargas" —una tarea que a mano toma media hora y que un script resuelve en un segundo—. Juntas todo lo de la lección anterior en una herramienta útil de verdad.
La recepcionista que clasifica el correo
El organizador completo
Este script crea una carpeta desordenada de ejemplo y la organiza clasificando cada archivo por su extensión:
El script recorre cada archivo, busca su extensión en el mapa DESTINOS, crea la carpeta destino si no
existe, y mueve el archivo ahí —contando los movidos y apartando los de extensión desconocida—. Dos detalles
clave de un buen script de automatización: tomar una "foto" de los archivos antes de moverlos
(list(Path(".").glob("*"))) para no confundir el recorrido al modificar la carpeta durante el bucle; y
manejar los casos borde (archivos sin categoría, que se reportan en vez de perderse). En un segundo hace
lo que a mano sería tedioso.
¿Por qué el script usa list(Path('.').glob('*')) en vez de recorrer el glob directamente al mover archivos?
Mini-reto
Amplía el organizador: 1) agrega una categoría más al mapa DESTINOS (por ejemplo videos .mp4/.mov →
"Videos"); 2) en vez de mover los archivos sin categoría, muévelos a una carpeta "Otros"; 3) agrega al
reporte el TAMAÑO total (en bytes) de los archivos de cada carpeta (suma f.stat().st_size). Bonus: agrega
un "modo simulación" con una variable SIMULAR = True que, si está activa, solo IMPRIMA lo que haría sin
mover nada realmente.
Qué sigue
Ya automatizas el sistema de archivos local. La próxima lección sale a INTERNET: la librería requests para
hacer peticiones HTTP —descargar datos de una API o una página web desde tu script—. El primer paso para
scripts que interactúan con el mundo en línea.