我在比較行行== 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()
我在比較行行== 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()
for line in f
產生線連同行終止,所以你需要帶他們,看到to read line from file in python without getting "\n" appended at the end
它的工作原理。非常感謝你。 – jade 2014-10-03 05:44:20
你需要從你從文件中讀取行剝離出換行/行終止。你可以使用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
非常感謝。有用。 – jade 2014-10-03 05:43:57
請準確解釋(1)你想做什麼(2)什麼是預期的輸出(3)什麼當前輸出或錯誤信息 – shx2 2014-10-03 05:39:31