2014-10-03 176 views
0

我在比較行行== a [1]中遇到問題,因爲它沒有進入此循環。我試着測試輸出,發現文件中已經有值'a'。以下是我的代碼。字符串比較錯誤

a = "djsajdlasak" 
f = open('users.txt','r+') 
k = 0 
for line in f: 
    print line 
    if line == a: 
     k = 1 
if k == 0: 
    f.write(a + '\n') 
f.close() 
+0

請準確解釋(1)你想做什麼(2)什麼是預期的輸出(3)什麼當前輸出或錯誤信息 – shx2 2014-10-03 05:39:31

回答

0

你需要從你從文件中讀取行剝離出換行/行終止。你可以使用str.strip,來達到你想要的。

要麼改線for line in f:for line in(elem.strip() for elem in f): 或添加一個額外的行下面你for聲明

for line in f: 
    line = line.strip() 
    print line 
    if line == a: 
     k = 1 
+0

非常感謝。有用。 – jade 2014-10-03 05:43:57