Programmation en python

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

  1. 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.
    1. Bonjour, merci d'utiliser la balise code pour insérer des lignes de code.