Salut les python,
Je vous demande votre aide sur un traceback:
Il consiste a comparer 2 valeurs: une calculer a partir d'un fichier et l'autre d'une saisie clavier avec un Pmw.EntryField() seulement je reçoit le traceback suivant en cas de caractères non-ascii:
Les mots 'password' et 'édé' sont des mots de passe de teste et sont le fruit d'un:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 password édé ZiffererRight.22.13.1.py:3101: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal if password_gui.anfang_password_anfrage_1.get() == self.password and i == len(self.linien) : ZiffererRight.22.13.1.py:3107: UnicodeWarning: Unicode unequal comparison failed to convert both arguments to Unicode - interpreting them as being unequal elif password_gui.anfang_password_anfrage_1.get() != self.password or i != len(self.linien) :
dans le code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part print self.password
Il faut savoir que le Pmw.EntryField est a typage dynamique suivant ce qu'on entre comme valeur:
J'ai vraiment tout essayer même avec le module codecs afin d'encoder les valeurs et un simple unicode(self.password) me renvoie une erreur: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0: ordinal not in range(128)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Pmw.EntryField.get() avec des caractères ascii sa donne <type str> Pmw.EntryField.get() avec des caractères non-ascii sa donne <type unicode>
Si vous savez comment je peut obtenir le résultat d'égalité de la structure conditionnel en question, qui marche a condition que les valeurs soit des caractères ascii, autrement ce n'est pas le cas et c'est la que j'ai besoin de vos avis éclairés.
Merci pour votre aide.








Répondre avec citation


Partager