Une instruction if
en Python est évaluée et elle renvoie la valeur non attendue.Si la déclaration retourne la mauvaise valeur?
p = sub.Popen('md5.exe -n md5.exe',stdout=sub.PIPE,stderr=sub.PIPE)
md5, errors = p.communicate()
print md5
abc = "8D443F2E93A3F0B67F442E4F1D5A4D6D"
print abc
if md5 == abc: print 'TRUE'
else: print 'FALSE'
repr(md5)
est '8D443F2E93A3F0B67F442E4F1D5A4D6D\r\n'
.
Les 2 chaînes sont les mêmes, mais elle évalue et imprime FALSE
.
Que se passe-t-il ici, et comment cela peut-il être résolu?
Veuillez 'imprimer repr (md5)' et 'imprimer repr (abc)', puis ** mettre à jour ** la question avec la sortie de chaque impression. –
Essayez d'imprimer 'repr (md5)' sur la ligne 3. Etes-vous sûr qu'ils sont identiques? – nmichaels
Pouvez-vous faire: Je suppose qu'il y a un saut de ligne quelque part ou quelque chose dans ce sens. essayez: 'md5.strip() == abc'instead. Sinon, exécutez 'print repr (md5)' et renvoyez – phant0m