Pythonのif
文が評価され、期待されない値が返されます。ステートメントが間違った値を返す場合?
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)
は'8D443F2E93A3F0B67F442E4F1D5A4D6D\r\n'
です。
2つの文字列は同じですが、それでもFALSE
を評価して印刷します。
ここで何が起こっていますか?これをどのように解決できますか?
'print repr(md5)'と 'print repr(abc)'を実行してから**各印刷物の出力を**更新**してください。 –
3行目に 'repr(md5)'を印刷してみてください。 – nmichaels
できますか:その行に沿ってどこかに何かか何かがあると思います。 try: 'md5.strip()== abc'instead。それ以外の場合は 'print repr(md5)'を実行し、 – phant0m