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 65
| import os
from difflib import SequenceMatcher
#Variables pour la moyenne
compteur = 0;
pourMoyenne = 0.00;
rep1 = "repertoire1"
rep2 = "repertoire2"
rep1str = rep1.split("/")
rep2str = rep2.split("/")
for path, dirs, files in os.walk(rep1):
for filename in files :
for path2, dirs2, files2 in os.walk(rep2):
for filename2 in files2:
if filename==filename2: #Permet de voir si les deux fichiers ont le meme nom.
str = path.split("/")
str2 = path2.split("/")
list1=[]
list2=[]
i=-1;
#Rempli la premiere liste des dossiers dans lequel le fichier se trouve (en partant de la fin)
# En mettant pour condition de fin le fait que le nom du dossier soit le nom de la release
while (str[i]!=rep1str[-1]):
list1.append(str[i])
i=i-1
j=-1;
#Rempli la deuxieme liste des dossiers dans lequel le fichier se trouve (en partant de la fin)
# En mettant pour condition de fin le fait que le nom du dossier soit le nom de la release
while (str2[j]!=rep2str[-1]):
list2.append(str2[j])
j=j-1
if (list1==list2):
compteur=compteur+1
text1=os.path.join(path,filename)
text2=os.path.join(path2,filename2)
m = SequenceMatcher(None, text1, text2)
m.ratio()
pourMoyenne = pourMoyenne + m.ratio()*100
#Pour les fichiers un par un :
#print os.path.join(path, filename)
#print os.path.join(path2, filename2)
#print "Pourcentage de ressemblance : ", m.ratio()*100, "\n"
#print "---------------------------------------------------------------------------------"
#Calcul de la moyenne
moyenne= pourMoyenne/compteur
#Affichage
print " ------------------------------------------"
print "| Average : ", moyenne, "% |"
print " ------------------------------------------" |
Partager