# -*- encoding: utf8 -*-

# Programme comptant le nombre d'occurrences d'un mot dans un texte

def compteur(source, destination, motCherche):
    """
    compteur(str source, str destination, str motCherche) --> None.
    Compte le nombre d'occurrences de <motCherche> dans le fichier
    <source> (encodé en Utf-8) et écrit le résultat dans le
    fichier <destination> (encodé en Latin-1).
    """
    try:
        Input = open(source, 'r', encoding = 'utf-8')       # ouverture du fichier d'entrée
        
    except:
        print('Le fichier', source, "n'existe pas.")

    else:
        counter = 0                                         # compteur d'occurrences du mot cherché
        ligne = Input.readline()                            # lecture de la prochaine ligne
        
        while ligne != '':
            ligne = ligne[:len(ligne)-1]                    # suppression du retour de ligne final
            listeMots = ligne.split()                       # transformation de la ligne en liste de mots
            for mot in listeMots:  
                if mot.upper() == motCherche.upper():       # comparaison des mots en majuscules
                    counter += 1
            ligne = Input.readline()

        Input.close()

        Output = open(destination, 'w', encoding = 'Latin-1')
        result = 'Le fichier "{}" contient {} occurrences du mot "{}"'.format(source, counter, motCherche)
        Output.write(result)
        Output.close()

# Programme principal

entree = input("Entrez l'adresse du fichier source: ")
sortie = input("Entrez l'adresse du fichier destination: ")
mot = input("Entrez le mot à chercher: ")

compteur(entree, sortie, mot)

reponse = open(sortie, 'r', encoding = 'Latin-1')
print(reponse.read())

input("Appuyez sur une touche pour fermer la fenetre !")
        
    
