Projets

Automatiser un dossier de téléchargements avec Python : trier ses fichiers simplement

Créez un script Python simple pour ranger automatiquement vos téléchargements par type de fichier, sans manipulations répétitives.

Par Julien Mercier 8 min de lecture
Automatiser un dossier de téléchargements avec Python : trier ses fichiers simplement

Utilisez ce script Python pour classer les fichiers d’un dossier dans Images, Documents, Archives, Audio ou Autres. Testez-le d’abord dans un dossier dédié : il déplace réellement les fichiers.

Préparer le dossier et le script

Créez un dossier, par exemple telechargements_test, avec quelques fichiers sans importance : photo.jpg, cours.pdf, archive.zip et notes.txt. Ne faites pas le premier essai dans votre véritable dossier Téléchargements.

Créez le fichier ranger_telechargements.py ailleurs, par exemple sur le Bureau, puis adaptez le chemin dans le code. Le module pathlib sert à manipuler les chemins, quel que soit le système d’exploitation.

Script de classement

Copiez ce code et remplacez le chemin de dossier_a_ranger. Les extensions non prévues vont dans Autres ; un fichier portant déjà le même nom dans le dossier de destination est ignoré afin d’éviter un déplacement à vérifier.

from pathlib import Path
import shutil

dossier_a_ranger = Path("C:/Users/VotreNom/Desktop/telechargements_test")

categories = {
    "Images": [".jpg", ".jpeg", ".png", ".gif", ".webp"],
    "Documents": [".pdf", ".docx", ".xlsx", ".txt"],
    "Archives": [".zip", ".rar", ".7z"],
    "Audio": [".mp3", ".wav"]
}

for fichier in dossier_a_ranger.iterdir():
    if not fichier.is_file():
        continue

    extension = fichier.suffix.lower()
    destination = "Autres"

    for nom_dossier, extensions in categories.items():
        if extension in extensions:
            destination = nom_dossier
            break

    dossier_destination = dossier_a_ranger / destination
    dossier_destination.mkdir(exist_ok=True)
    cible = dossier_destination / fichier.name

    if cible.exists():
        print(f"{fichier.name} : fichier déjà présent dans {destination}")
        continue

    shutil.move(str(fichier), str(cible))
    print(f"{fichier.name} → {destination}")

iterdir() parcourt le dossier et is_file() évite de traiter les sous-dossiers créés par le script. suffix.lower() récupère l’extension sans distinguer .jpg et .JPG, tandis que mkdir(exist_ok=True) crée chaque catégorie si nécessaire.

Lancer le programme

Ouvrez un terminal dans le dossier qui contient le script, puis exécutez python ranger_telechargements.py. La fonction shutil.move() déplace les fichiers et le terminal affiche leur catégorie.

Vérifiez le contenu de telechargements_test avant de remplacer le chemin de test par celui de votre dossier Téléchargements. Pour mieux comprendre les chemins utilisés, consultez aussi utiliser pathlib pour gérer les fichiers.

Commentaires · Aucun commentaire pour l'instant

Soyez le premier à réagir.

Laisser un commentaire