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.
Partager