1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| #!/usr/bin/env python
# -*- coding: utf-8 -*-
# Date : 25 Novembre 2016
# Programme : TRAITEMENT DE FICHIERS DANS UN DOSSIER
# Enoncé : Ecrire un programme qui génère un rapport des fichiers qui commencent par le mot saisie par l'utilisateur
# imports
import os
import time
# Début du programme
print("=== TRAITEMENT DE FICHIERS DANS UN DOSSIER ===\n\n")
# L'utilisateur saisi le chemin du dossier qui contient les fichiers
CheminDossier = str(input("Entrer le chemin du dossier à traiter: "))
# L'utilisateur saisi le nom du rapport
NomFichierRapport = str(input("Choisir le nom du fichier rapport: "))
# ListeDesFichiers contient le nom.extension des fichiers
ListeDesFichiers = os.listdir(CheminDossier)
# L'utilisateur saisi le mot à chercher
MotCle = str(input("Entrer le mot: "))
print("")
# Creation fichier rapport
CheminCompletRapport = (CheminDossier+os.sep+NomFichierRapport+".txt")
Rapport=open(CheminCompletRapport,'w')
Rapport.write("Date: ") # On écrit la date du jour
Rapport.write(time.strftime('%d/%m/%y %H:%M',time.localtime()))
Rapport.write("\n")
Rapport.write("Dossier: ") # On écrit le Chemin du dossier concerné
Rapport.write(CheminDossier)
Rapport.write("\n\n")
# Pour chaque fichier dans la liste
for fichier in ListeDesFichiers:
CheminCompletFichier = (CheminDossier+os.sep+fichier) # Chemin du fichier
# Si c'est un fichier
if os.path.isfile(CheminCompletFichier):
Lignes = open(CheminCompletFichier, 'r') # On ouvre en lecture le fichier
Rapport.write("Fichier: ")
Rapport.write(fichier)
Rapport.write("\n")
# Pour chaque ligne du fichier
for L in Lignes:
# Si la ligne commence par le Mot défini par l'utilisateur
if L.startswith(MotCle):
# On écrit la ligne et le fichier concerné dans le rapport
Rapport.write(L)
Lignes.close()
Rapport.write("\n")
Rapport.close()
# Affichage du fichier Rapport
Rapport=open(CheminCompletRapport,'r')
ContenuRapport = Rapport.read()
print(ContenuRapport)
Rapport.close() |