2012-06-26 43 views
2
for line in f.readlines(): 
    if(line == "Open Ended Schemes(Balanced)") : 
     print "found" 

我的數據文本是由this鏈接給出的共同基金信息。python解析:字符串比較問題

當我找到'Open Ended Schemes'時,我希望執行一些代碼。 問題是==運算符在這裏不起作用。 我嘗試了一些line.rsplit()的組合,但無法成功。

我與Python

回答

3

的readlines方法初學者()在python方法留下在每一行的末尾的換行符。只需將其更改爲

for line in f.readlines(): 
    if(line == "Open Ended Schemes(Balanced)\n") : 
     print "found" 

或者,您可以剝去你的線串換行符前檢查:

for line in f.readlines(): 
    if(line[:-1] == "Open Ended Schemes(Balanced)") : 
     print "found" 

這應該正常工作。

+1

'line [: - 1]'的問題是它總是會刪除最後一個字符,但最後一行可能不會以'「\ n」'結尾。改用'line.rstrip(「\ n」)'更安全。 – MRAB

+0

謝謝!有效 :) – Ajax