Automatiser un traitement complet
Voici un script Python qui :
- Parcourt un dossier de fichiers texte
- Filtre les lignes contenant le mot "ERREUR"
- Écrit les résultats dans un fichier centralisé
- Déplace et renomme les fichiers traités
Code Complet
import os import glob import shutil import datetime # Préparation mot_cle = "ERREUR" dossier_source = "logs/" dossier_archive = "archives/" fichier_resultat = "resultats_erreurs.txt" date = datetime.datetime.now().strftime("%Y-%m-%d") # Créer dossier d’archives s’il n’existe pas os.makedirs(dossier_archive, exist_ok=True) # Liste des résultats extraits lignes_filtrees = [] # Traitement de chaque fichier fichiers = glob.glob(dossier_source + "*.txt") for chemin in fichiers: with open(chemin, "r") as fichier: for ligne in fichier: if mot_cle.lower() in ligne.lower(): lignes_filtrees.append(f"{os.path.basename(chemin)} : {ligne.strip()}") # Déplacer et renommer le fichier nouveau_nom = f"{date}_{os.path.basename(chemin)}" shutil.move(chemin, os.path.join(dossier_archive, nouveau_nom)) # Écriture des résultats with open(fichier_resultat, "w") as sortie: for ligne in lignes_filtrees: sortie.write(ligne + "\n")
Résultat
- Un fichier
resultats_erreurs.txt
avec toutes les lignes filtrées - Tous les fichiers traités sont archivés et renommés
Dans la prochaine leçon, nous verrons comment créer une interface utilisateur simple (en ligne de commande) pour personnaliser ce script (choix du mot-clé, dossier, etc.).
Aucun commentaire:
Enregistrer un commentaire