Partage
  • Partager sur Facebook
  • Partager sur Twitter

'str' object has no attribute 'encrypt'

Sujet résolu
    9 novembre 2022 à 12:09:50

    Hello tout le monde 

    J'ai essayer de chiffrer tout les fichiers d'un dossier, mais je eu code erreur 'str' object has no attribute 'encrypt' alors si je chiffrer un seul fichier sans le boucle for ça fonctionne.

    from cryptography.fernet import Fernet
    import os
    
    
    pat = "C:/Users/user/Pictures/"
    
    key = Fernet.generate_key()
    
    f = Fernet(key)
    with open("unlock.key", "wb") as unlock:
        unlock.write(key)
    
    
    for chemin, dossiers, fichier in os.walk(pat): #Chemin, dossiers, fichiers
       
        for f in fichier:
            fp = os.path.join(chemin,f)
            
            with open(fp, "rb") as of:
                o = of.read()
            
            encrypted = f.encrypt(o)
            with open(fp, "wb") as c:
                c.write(encrypted)
           
    Merci tout le monde
    • Partager sur Facebook
    • Partager sur Twitter

    Doucement mais Surement 

      9 novembre 2022 à 12:51:15

      f c'est le nom du fichier dans ta boucle (for f in fichier) , ce n'est plus le retour de la fonction Fernet(key) de la ligne 9; donc renomme l'une des 2 variables

      • Partager sur Facebook
      • Partager sur Twitter
        9 novembre 2022 à 13:06:55

        Merci beaucoup umfred et très bonne journée:D

        -
        Edité par Omoji 9 novembre 2022 à 13:07:17

        • Partager sur Facebook
        • Partager sur Twitter

        Doucement mais Surement 

        'str' object has no attribute 'encrypt'

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown