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.
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.