2012-12-21 41 views
0

爲什麼我比較兩個字符串時出現錯誤結果。我在Python中遇到錯誤的結果,當我試圖比較python中的兩個字符串時

if password==en_pass: 
      log.info("##### client credentials are OK ####") 
else: 
    print "credentials are wrong " 

我得到的結果是在else塊

這裏是我的日誌消息:

got the password :bmF2ZWVu , encoded password :bmF2ZWVu 

其中編碼的密碼是從base64,這是我得到的是通過使用encodestring方法在base 64模塊中。

+1

您可以附上密碼並引用空格嗎?看着沒有理由它不應該工作。 –

+0

您應該嘗試在密碼周圍加上引號,並且應該給出如何打印日誌消息。還要檢查密碼和en_pass的類型。 – zmo

+0

你可以使用repr(「你的字符串」),打印出確切的內容! – theAlse

回答

6

它似乎密碼不是'bmF2ZWVu',但包含尾隨空格,如'bmF2ZWVu '。請嘗試if password.strip()==en_pass.strip()

+0

我沒有得到,請給我明確的解釋 –

+0

你的意思是它的其他數據類型? –

+2

@usernaveen他意味着密碼後有一些空格字符。 –