所以我刚开始学习python,并尝试了一个包含登录系统的小项目。我想将用户名和密码保存到.txt文件中,但它们就是不保存,我也无法找出错误所在。这个问题一定发生在我定义的register dunction中,因为登录与我手动引入的用户名和密码配合得很好
def register():
user = input("Registration page\nUSERNAME:")
users = open("users.txt", "r")
if user in users:
print("That user already exists!")
login()
users.close()
else:
pwrds = open("pass.txt", "a")
users = open("users.txt", "a")
users.write("\n" + user)
p1 = input("PASSWORD:")
p2 = input("CONFIRM PASSWORD:")
if p1 == p2:
pwrds.write("\n" + p1)
login()
users.close()
pwrds.close()
else:
print("Failed password confirmation, restarting")
register()
users.close()
pwrds.close()
提前感谢您的帮助
当您在文件对象(
users
)中检查字符串包含(user in
)时,总是会得到False
,因为每一行都附加了转义的新行字符“\n”另外,您尝试打开文件两次。做这种事没有意义。您可以从一开始就通过
'r+'
参数打开它请注意
'r+'
方法将把光标的初始位置放在文件的开头,但是由于我们调用了read()
方法,那么光标现在将被设置到文件的末尾,允许我们将新用户写入文件的最后位置我会这样做:
相关问题 更多 >
编程相关推荐