Bonjour,

J'ai un fichier texte nommé analyse.txt contenant ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Fichiers\Informationstte.png
Fichiers\image\InformationsRH.png
Fichiers\Iso\debian-8.7.1-amd64-CD-1.iso
J'essaie de le lire, ligne par ligne pour utiliser ces path dans un autre script, j'ai besoin de les hasher et de les stocker dans un autre fichier texte :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
import hashlib
 
with open("analyse.txt") as f:
    for line in f:
        print(line)
        with open(line, 'rb') as afile:
            file = afile.read()
            hashlib.md5().update(file)
            m = hashlib.md5(file).hexdigest()
Mon problème c'est que quand il lis le fichier texte, il me sort ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Traceback (most recent call last):
Fichiers\Informationstte.png
  File "C:/Users/XAVIER-PC/Desktop/Script/trouver_hash.py", line 6, in <module>
 
    with open(line, 'rb') as afile:
OSError: [Errno 22] Invalid argument: 'Fichiers\\Informationstte.png\n'
Je comprend pas pourquoi il me met deux anti slash, et je suppose que le \n a la fin fait partir de la fonction qui lit le fichier ? Possible de l'enlever ou une autre fonction permet de faire la même chose sans le /n ?

Et quelqu'un sait pourquoi il me sort deux \ ?

Merci d'avance