with open("emails.txt", "a+") as emailList: for line in emailList: if str(emailEntry.get()) in line: print("Someone already used this e-mail") break; else: emailList.write("\n" + str(emailEntry.get()))#這段代碼應該檢查emails.txt中的字符串是否與tkinter中的Entry小部件輸入的字符串相同,如果有與輸入的字符串相同的字符串,程序需要打印“有人已經使用了此電子郵件”并停止該if語句。如果 emails.txt 中的字符串與輸入的字符串不同,則應將該字符串添加到文件中。#但是我的程序每次(無論我輸入什么)都不做任何事情
1 回答

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
這是因為您以模式打開文件a+,該模式將文件指針放在文件末尾。因此 for 循環將立即結束并且什么也不會發生。
您需要以模式打開文件r+。下面是一個工作示例:
email = emailEntry.get().strip()
if email:
with open('emails.txt', 'r+') as emailList:
found = False
for line in emailList:
if email == line.strip():
found = True
break
if found:
print('Someone already used this e-mail')
else:
print('add', email, 'to file')
emailList.write('\n'+email)
添加回答
舉報
0/150
提交
取消