Automatiser Windows avec Python : le guide pratique
pyautogui, keyboard, pywin32, watchdog — apprenez à automatiser vos tâches répétitives sur Windows avec Python, avec un exemple de renommeur automatique de fichiers.
Python est l'outil idéal pour automatiser les tâches répétitives sur Windows. Voici les bibliothèques incontournables et un exemple concret.
Bibliothèques essentielles
pip install pyautogui keyboard pywin32 watchdog
pyautogui — contrôle souris et clavier
import pyautogui
import time
# Déplacer la souris et cliquer
pyautogui.moveTo(500, 300, duration=0.5)
pyautogui.click()
# Taper du texte
pyautogui.typewrite("Bonjour le monde !", interval=0.05)
# Raccourci clavier
pyautogui.hotkey("ctrl", "s")
# Capturer l'écran
screenshot = pyautogui.screenshot()
screenshot.save("capture.png")
Sécurité : ajoutez
pyautogui.FAILSAFE = True— bouger la souris en haut à gauche stoppe le script.
keyboard — raccourcis globaux
import keyboard
# Écouter un raccourci global
keyboard.add_hotkey("ctrl+shift+f", lambda: print("Raccourci déclenché !"))
# Bloquer jusqu'à une touche
keyboard.wait("esc")
# Lire les touches
event = keyboard.read_event()
print(event.name)
pywin32 — accès Windows avancé
import win32api
import win32con
import win32gui
# Lister les fenêtres ouvertes
def callback(hwnd, windows):
if win32gui.IsWindowVisible(hwnd):
windows.append((hwnd, win32gui.GetWindowText(hwnd)))
windows = []
win32gui.EnumWindows(callback, windows)
for hwnd, title in windows:
if title:
print(f"{hwnd}: {title}")
# Envoyer un message à une fenêtre
# win32api.SendMessage(hwnd, win32con.WM_CLOSE, 0, 0)
watchdog — surveiller les fichiers
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import time
class MonHandler(FileSystemEventHandler):
def on_created(self, event):
if not event.is_directory:
print(f"Nouveau fichier : {event.src_path}")
def on_modified(self, event):
print(f"Fichier modifié : {event.src_path}")
observer = Observer()
observer.schedule(MonHandler(), path="C:/Users/arthu/Downloads", recursive=False)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
Exemple complet : renommeur automatique
Un script qui surveille votre dossier Téléchargements et renomme automatiquement les fichiers selon leur type.
import os
import re
from pathlib import Path
from datetime import datetime
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
DOWNLOADS = Path.home() / "Downloads"
PREFIXES = {
".pdf": "DOC",
".docx": "DOC",
".xlsx": "TABLEUR",
".png": "IMG",
".jpg": "IMG",
".jpeg": "IMG",
".mp4": "VIDEO",
".zip": "ARCHIVE",
".py": "CODE",
".ts": "CODE",
}
def nettoyer_nom(nom: str) -> str:
nom = re.sub(r"[^a-zA-Z0-9._-]", "_", nom)
nom = re.sub(r"_+", "_", nom)
return nom.strip("_")
def renommer(chemin: Path) -> None:
if not chemin.is_file():
return
ext = chemin.suffix.lower()
prefix = PREFIXES.get(ext, "FICHIER")
date = datetime.now().strftime("%Y%m%d_%H%M%S")
nouveau_nom = f"{prefix}_{date}_{nettoyer_nom(chemin.stem)}{ext}"
nouveau_chemin = chemin.parent / nouveau_nom
if chemin != nouveau_chemin and not nouveau_chemin.exists():
chemin.rename(nouveau_chemin)
print(f"✓ {chemin.name} → {nouveau_nom}")
class RenommeurHandler(FileSystemEventHandler):
def on_created(self, event):
if not event.is_directory:
renommer(Path(event.src_path))
if __name__ == "__main__":
print(f"Surveillance de : {DOWNLOADS}")
observer = Observer()
observer.schedule(RenommeurHandler(), path=str(DOWNLOADS), recursive=False)
observer.start()
try:
while True:
import time
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
Transformer en .exe
pip install pyinstaller
pyinstaller --onefile --noconsole renommeur.py
Le fichier .exe généré dans /dist peut être lancé sans Python installé.
Automatiser au démarrage Windows
Ajoutez un raccourci vers votre script (ou .exe) dans :
C:\Users\[vous]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Conclusion
Avec ces quatre bibliothèques, vous pouvez automatiser la quasi-totalité des tâches répétitives sur Windows : clics, formulaires, traitement de fichiers, notifications. La limite, c'est votre imagination.