我正在制作的这个程序的一部分需要用户输入(用户名)并检查它是否已经存在于文本文件中。如果已经存在,则打印(“用户名已经存在”) 但是现在,不管输入是否已经存在于文本文件中,程序都会继续将输入添加到文本文件中。 有人知道怎么修理吗?(顺便说一句,这是那部分)
def passcheck():
user=name_ent2.get()
pass1 = pass_ent2.get()
confirm = retype_ent.get()
names = open("nlist.txt","a+")
if user in names:
print("username already exists.")
if user not in names:
names.write(user)
names.write('\n')
names.close()
有没有办法检查文本文件中是否存在userinput
当您使用
user in names
测试成员身份时,Python会在文件的行上迭代,并将user
与每一行进行比较这里的问题是换行符
\n
包含在行尾,因此您的姓名不匹配所以,在比较之前,你必须去掉这条新行的行,比如:
还请注意,我是以读取模式打开文件的(默认为
'r'
)。您在附加模式下打开了它,将指针放在文件的末尾。因为没有更多的东西要读,你的支票总是会失败的相关问题 更多 >
编程相关推荐