-
Affichage de chaîne
Bonjour,
Lorsqu'on affiche une chaîne via repr(), on obtient :
')\x00\xbc\xd0\x11\x04\x10\x04\x03\x00\x80\x19,'
Est-il possible d'obtenir :
'\x29\x00\xbc\xd0\x11\x04\x10\x04\x03\x00\x80\x19\x2c'
sans faire un traitement à coups de 'list comprehensions' et hex(ord()) ?
Merci d'avance.
-
si on veut garder des \x devant chaque caractère, je n'ai rien vu dans la stdlib.
En se passant des \x, on peut faire avec binascii.hexlify
-
Ah, ben je ne connaissais pas ce module ! Merci :)
-
le plus simple ne serait-il pas de récupérer la string de sortie de la fonction repr dans une variable(chaine) et de la traiter avant de la print?
chaine.replace( ')', \x29)
chaine.="\x2c"
si tu printes "chaine" tu dois avoir ce qu'il te faut
-
Disons que l'idée de départ c'était de savoir s'il y avait déjà quelque chose de fait en interne...
En fait, j'utilise les bytearray ; je vais donc créer une classe spéciale qui en hérite, et surcharger __repr__() et __str__()...