1 pièce(s) jointe(s)
une fonction python qui recense tous les mots utilisés dans l’ensemble de la liste de fichier donné
Bonjour, je cherche à ecrire une fonction sur python qui prend en parametre une liste de fichier et qui compte le nombre d'apparition de tous les mots présent dans la liste de fichier donnée
le resultat de cette fonction doit etre une liste dont chaque élément est une liste de plusieurs éléments :
le premier est le mot utilisé, le deuxième élément est le nombre d’utilisation de ce mot
dans le premier fichier, le troisième est le nombre d’utilisations de ce mot dans le
deuxième fichier…
Le code que j'ai pour le moment reussi a faire est:
Code:
Code:
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
| # -*- coding: utf-8 -*-
"""
Created on Tue Dec 27 12:38:19 2022
@author: Utilisateur
"""
import re
def mots_dans_fichiers(liste_fichiers):
listefinale = []
for i in range (len(liste_fichiers)):
with open(liste_fichiers[i], 'r') as fd:
azerty = fd.read()
mot = re.split('[^a-zA-Z0-9_éèàêùçî]', azerty)
dic = {}
for i in mot:
if i != "":
if i in dic:
dic[i] += 1
else:
dic[i] =1
for i in dic.items():
listefinale.append([i[0], i[1]])
return listefinale
def main ():
print(mots_dans_fichiers(["C:\\Users\\Utilisateur\\Downloads\\test\\fichier.txt", "C:\\Users\\Utilisateur\\Downloads\\test\\fichier2.txt"]))
if __name__ == '__main__':
main() |
Le probleme de ce code est que cela me renvie le mot suivie du nombre d'occurence de ce mot dans tous les fichiers réunis. (le programme fait comme si la liste de fichiers etait un grand fichier texte.
Merci de vos reponses