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