Organiza tu caos digital con este script de Python

Yo creo que, como a muchos, me pasa que la carpeta de Descargas (y varias otras) termina convertida en un desastre: una auténtica bodega de trastes digitales. Archivos que nos negamos a borrar “por si luego los necesito”, tareas del 2019, memes olvidados y hasta programas que ya ni son compatibles con el sistema operativo actual.
En este post no prometo una solución mágica, pero sí ayudarte a que esa limpieza sea más fácil, más llevadera y, de paso, una excusa para aprender y juguetear un poco con programación en Python.

🎯 ¿Qué hace?

Este script clasifica todos tus archivos automáticamente en subcarpetas como:
📄 Documentos, 🖼️ Imágenes, 🎥 Videos, 🎧 Música, 📦 Comprimidos, 💾 Programas… y todo lo demás lo manda a una carpeta llamada “Otros”.

🧠 ¿Cómo funciona?

Cada vez que lo ejecutas:

  1. Revisa tu carpeta de Descargas.
  2. Detecta la extensión de cada archivo (.pdf, .jpg, .mp3, etc).
  3. Crea subcarpetas si no existen.
  4. Mueve cada archivo a su lugar correspondiente.
  5. Fin del caos. ✨

🐍 ¿Necesitas tener Python instalado?

Sí, este script está hecho en Python, así que necesitas tenerlo instalado en tu computadora.

🔹 ¿No sabes si lo tienes?
Abre tu terminal o consola y escribe:

python --version

Si te responde con algo como Python 3.10.11, ya estás listo.
Si te dice que no se reconoce el comando, no te preocupes.

🔧 Tengo otra entrada donde te explico paso a paso cómo instalar Python en cualquier sistema operativo (Windows o macOS ).
👉 Haz clic aquí para verla

💻 Código listo para copiar y pegar

import os
import shutil
from pathlib import Path

source_dir = Path.home() / "Downloads"

file_categories = {
    "Imágenes": [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".tiff", ".webp"],
    "Documentos": [".pdf", ".docx", ".doc", ".txt", ".odt", ".rtf", ".xlsx", ".xls", ".csv", ".pptx", ".ppt"],
    "Videos": [".mp4", ".mov", ".avi", ".mkv", ".flv", ".wmv"],
    "Música": [".mp3", ".wav", ".aac", ".flac", ".ogg", ".m4a"],
    "Programas": [".exe", ".msi", ".apk", ".deb", ".AppImage"],
    "Comprimidos": [".zip", ".rar", ".tar", ".gz", ".7z"],
    "Otros": []  # Archivos sin categoría específica
}

for file in source_dir.iterdir():
    if file.is_file():
        moved = False
        for category, extensions in file_categories.items():
            if file.suffix.lower() in extensions:
                target_dir = source_dir / category
                target_dir.mkdir(exist_ok=True)
                shutil.move(str(file), str(target_dir / file.name))
                moved = True
                break
        if not moved:
            target_dir = source_dir / "Otros"
            target_dir.mkdir(exist_ok=True)
            shutil.move(str(file), str(target_dir / file.name))

📂 ¿Y si el script no encuentra la carpeta o lo pusiste dentro de la carpeta a organizar?

Por defecto, el script busca la carpeta Descargas del usuario actual con esta línea:

source_dir = Path.home() / "Downloads"

Pero si:

🧩 Lo pusiste dentro de la misma carpeta que quieres organizar, puedes simplemente escribir:

source_dir = Path.cwd()

Esto le dice al script: “organiza los archivos del lugar donde estoy ahora”.


📋 No estás seguro de la ruta, puedes copiarla manualmente.
Por ejemplo:

source_dir = Path("C:/Usuarios/tu_usuario/Descargas")

🪄 Tip: En Windows puedes hacer clic en la barra de dirección de la carpeta, copiar la ruta completa y pegarla en el código (recuerda usar diagonal normal / o doble diagonal invertida \\ si es necesario).

🧪 ¿Cómo lo uso?

  1. Copia el código en un archivo, por ejemplo: organizador.py.
  2. Ejecuta en la terminal o consola con:
python organizador.py

🛠️ Mejoras opcionales

  • Puedes modificar source_dir para que organice cualquier carpeta.
  • Puedes agregar nuevas extensiones o categorías según tus necesidades.
  • Puedes programarlo para que lo haga automático