Programmation en python

Fermé
BPrivat - Modifié le 22 déc. 2018 à 11:06
Naheulf Messages postés 287 Date d'inscription vendredi 13 août 2010 Statut Non membre Dernière intervention 19 février 2024 - 22 déc. 2018 à 22:40
svp j'aimerais que quelqu'un m'explique ce que fait parfaitement cette ligne:
hashValue =    hashlib.md5(line.rstrip().encode('utf-8')).hexdigest()


#import hashlib
import re
#1
output_file_path = "C:/Users/DONGTSA NOUBOUSSIE/Desktop/results pr.txt"
input_file_path = "C:/Users/DONGTSA NOUBOUSSIE/Desktop/results unclean.txt"
#2
#input_file_path = open("C:/Users/DONGTSA NOUBOUSSIE/Desktop/results unclean.txt")

completed_lines_hash = set()
#3
output_file = open(output_file_path, "w")

#4
for line in open(input_file_path,"r"):
  
  #file = re.sub('About', '', input_file_path)
  
  #5
  hashValue = hashlib.md5(line.rstrip().encode('utf-8')).hexdigest()
  #6
  if hashValue not in completed_lines_hash:

     
    completed_lines_hash.add(hashValue)
    output_file.write(line)
#7
output_file.close()


merci!!!

2 réponses

Naheulf Messages postés 287 Date d'inscription vendredi 13 août 2010 Statut Non membre Dernière intervention 19 février 2024 113
22 déc. 2018 à 11:17
Bonjour, merci d'utiliser la balise code pour insérer des lignes de code.
0
Naheulf Messages postés 287 Date d'inscription vendredi 13 août 2010 Statut Non membre Dernière intervention 19 février 2024 113
22 déc. 2018 à 22:40
C'est quand même plus beau avec la balise "Code" ;)

Lorsque on arrive à la ligne 19 étape 5 avec ta numérotation, on à les deux variables suivantes :
line # Une chaîne de caractère qui contient une ligne du fichier "results unclean.txt"
hashlib # Le module qui contient la fonction de hachage md5


Dans l'ordre d'exécution on trouve :
line.rstrip().encode('utf-8')

Cela permet de supprimer les caractères invisibles en début et fin de ligne puis de forcer l'encodage de la chaîne en "utf-8"


hashlib.md5(line)

Ce code calcule le hash md5 de la chaine "line". La valeur retournée est un objet assimilable à un tableau d'octets (du binaire). Or, le reste du programme à besoin du hash sous forme de chaîne de caractère. On appelle donc la méthode
hexdigest()
de cet objet pour en obtenir une représentation textuelle en hexadécimal.
0