Bonjour,
J'ai un fichier texte contenant des hash "hash.txt" ligne par ligne (j'ai enlever les sauts de lignes donc tout est à la suite), et j'ai besoin pour un autre script de lire ces lignes une par une.
Voici mon code :
En fait ceci calcul le hash des fichiers, et le compare avec ceux qui sont marqués dans le fichier texte.
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 import hashlib path = ['Fichiers\Informationstte.png', 'Fichiers\image\InformationsRH.png', 'Fichiers\Iso\debian-8.7.1-amd64-CD-1.iso', ] for p in path: with open(p, 'rb') as afile: file = afile.read() hashlib.md5().update(file) m = hashlib.md5(file).hexdigest() print(m) for p in path: with open("hash.txt") as f: for line in f: l = (line.rstrip()) if m == l: print("Le fichier " + p + " n a pas ete modifie") else: print("Le fichier " + p + " a ete modifie")
Voici le résultat :
On peux voir que les hash calculés sont différents donc ça c'est bon, mais ca me prend pour chaque hash les trois chemins, je me doute qu'il y a un problème avec ma boucle For, mais je ne vois pas comment modifier ceci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 >>>10e05bb6f2edd3ce5a36acde1c82c0f8 >>>e2563b855b6e28cac38e05559c5dfb7d >>>eb8bdd4d233fab9ab980c4ee3ac0ae4a >>>Le fichier Fichiers\Informationstte.png a ete modifie >>>Le fichier Fichiers\Informationstte.png a ete modifie >>>Le fichier Fichiers\Informationstte.png n a pas ete modifie >>>Le fichier Fichiers\image\InformationsRH.png a ete modifie >>>Le fichier Fichiers\image\InformationsRH.png a ete modifie >>>Le fichier Fichiers\image\InformationsRH.png n a pas ete modifie >>>Le fichier Fichiers\Iso\debian-8.7.1-amd64-CD-1.iso a ete modifie >>>Le fichier Fichiers\Iso\debian-8.7.1-amd64-CD-1.iso a ete modifie >>>Le fichier Fichiers\Iso\debian-8.7.1-amd64-CD-1.iso n a pas ete modifie
Une petite idée?
Merci d'avance!
Partager