Python3.6 : convertire un 'generator' en 'b-like'
Résolu/Fermé1 réponse
Bonjour.
Je ne sais pas ce qu'est supposé faire votre script.
Il y a un problème car votre générateur n'est pas dans le join, de plus hexlify attend un type byte en argument.
Ce qui fait que votre fonction devrait ressembler à :
Autre chose, il n'est pas nécessaire d'utiliser close sur vos fichiers si vous utilisez with.
Je ne sais pas ce qu'est supposé faire votre script.
Il y a un problème car votre générateur n'est pas dans le join, de plus hexlify attend un type byte en argument.
Ce qui fait que votre fonction devrait ressembler à :
def cipherXOR(key, msg): return hexlify(''.join(xor_char(c, k) for c,k in zip(msg, cycle(key))).encode())
Autre chose, il n'est pas nécessaire d'utiliser close sur vos fichiers si vous utilisez with.
Modifié le 30 sept. 2018 à 11:34
mon scipt prend en parametre le nom d'un fichier, il recupére la premiere ligne de ce fichier qui correspond a la clé de chiffrage dans lequel le reste de ce méme fichier doit etre chiffré avec le system : repeating key XOR
mais etant debutant sur le python j'imagine que ce n'est probablement pas la meilleurs des solution pour repondre a ce probléme. je suis a ton ecoute si tu as mieux a me proposer .
j'ai corrigé ma fonction tel que tu me la proposé, mais mon programme reste buger ...
si tu peut me venir en aide la dessus egalement ce serais top.
cette erreur je la comprend mais pour la corriger ca va etre coton. une boucle j'imagine ...
30 sept. 2018 à 12:15
Mais rien ne vous empêche de créer une fonction intermédiaire pour faire cela, c'est à vous de voir :)
30 sept. 2018 à 12:29
merci de votre aide, cela fonctionne presque parfaitement.
je doit juste avoir un soucis dans mon operation mais je devrait pouvoir la corriger seul .
passe un agréable Dimanche.