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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager