我想在我的myWords.txt
文件中保存唯一的單詞。我正在搜索一個單詞,如果在文件中找到它,它不會寫入它,但如果它找不到,它會寫入該單詞。問題是,當我第二次運行程序時,指針位於文件末尾,並從文件末尾開始搜索,然後再次寫入上次寫入的單詞。我試圖在某些位置使用seek(0)
,但不起作用。難道我做錯了什麼?將光標移至文件開頭?
with open("myWords.txt", "r+") as a:
# a.seek(0)
word = "naughty"
for line in a:
if word == line.replace("\n", "").rstrip():
break
else:
a.write(word + "\n")
print("writing " +word)
a.seek(0)
break
a.close()
myWords.txt
awesome
shiny
awesome
clumsy
shiny
上運行的代碼兩次
myWords.txt
awesome
shiny
awesome
clumsy
shiny
naughty
naughty
是沒有意義的break'後'把任何東西。你必須把它放在'break'之前 – furas
@furas謝謝。編輯。我也嘗試過,但不起作用.. – Amar
我認爲你有錯誤的縮進。你需要'for/else'構造,而不是'if/else' - 所以'else'必須在下面'' – furas