Suivre l'activité de votre script
À la fin d’un traitement de fichiers, il peut être utile d’avoir un résumé chiffré pour contrôler que tout s’est bien déroulé.
Ajout de statistiques simples
import os import glob import shutil import argparse import datetime parser = argparse.ArgumentParser() parser.add_argument("--dossier", type=str, default="logs/") parser.add_argument("--mot", type=str, default="erreur") parser.add_argument("--sortie", type=str, default="résultat.txt") args = parser.parse_args() archive = "archives/" os.makedirs(archive, exist_ok=True) date = datetime.datetime.now().strftime("%Y-%m-%d") resultats = [] compteurs = { "fichiers_traités": 0, "lignes_lues": 0, "lignes_filtrées": 0 } for fichier in glob.glob(args.dossier + "*.txt"): compteurs["fichiers_traités"] += 1 with open(fichier, "r") as f: for ligne in f: compteurs["lignes_lues"] += 1 if args.mot.lower() in ligne.lower(): resultats.append(f"{os.path.basename(fichier)} : {ligne.strip()}") compteurs["lignes_filtrées"] += 1 shutil.move(fichier, f"{archive}{date}_{os.path.basename(fichier)}") with open(args.sortie, "w") as out: for ligne in resultats: out.write(ligne + "\n") # Affichage des statistiques print("=== STATISTIQUES ===") print(f"Fichiers traités : {compteurs['fichiers_traités']}") print(f"Lignes lues : {compteurs['lignes_lues']}") print(f"Lignes filtrées : {compteurs['lignes_filtrées']}")
Avantages
- Permet de vérifier que tout a bien été traité
- Utile pour le suivi dans des scripts automatisés
- Peut être étendu pour générer des rapports journaliers
Dans la prochaine leçon, nous apprendrons à enregistrer ce rapport dans un fichier log journalier avec timestamp.
Aucun commentaire:
Enregistrer un commentaire