2015-09-13 46 views
-3

我想知道爲什麼我的程序沒有進入if條件。Python programmin:沒有進入If循環

import re 

message="b'GET/HTTP/1.1\r\nHost: localhost:8816\r\nConnection: keep-alive\r\nAccept: text/css,*/*;q=0.1\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36\r\nReferer: http://localhost:8816/\r\nAccept-Encoding: gzip, deflate, sdch\r\nAccept-Language: en-US,en;q=0.8\r\n\r\n'" 
print(message) 

filename1=re.search(r'/[^H]*',message).group() 

a="/" 
a=str(a) 
print(filename1) 
if filename1 == a: 
    filename2='/Users/ankushverma/Desktop/www/index.html' 
    print(filename2) 
+0

問題是...? –

+0

filename1是「/」,即re.search的輸出等於定義的「a」。那麼爲什麼它不進入IF循環並打印文件名2。我只是得到輸出,直到打印(filename1) –

+1

什麼是If循環? – theB

回答

2

因爲filename1是「/」。也就是說,你的正則表達式正在捕獲斜槓後的空間。

1

嘗試:

filename1=re.search(r'/[^H]*',message).group().strip() 

.strip()移除前後空白這是造成比較返回false。

+0

謝謝:-)它工作:-) –