我写了一个代码来创建用户并登录,但是创建的用户只有在程序运行时才会在内存中,并且当程序关闭时,该用户将被销毁。现在,如果我决定将用户名和密码存储到文件中,那么如何在下面的python代码中进行存储,我只想将其存储到文件中而不读取或比较它。而且我刚刚开始学习Python,所以不知道任何高级知识或棘手的术语。
编辑:我无法将用户名和密码写入文件。
users = {}
status = ""
f = open('E:\\login_try2.txt','w')
def displayMenu():
status = input("Are you registered user? y/n/q ")
if status == "y":
oldUser()
elif status == "n":
newUser()
elif status == "q":
exitCode()
def exitCode():
exit()
def newUser():
username = input("Enter username: ")
f.write(username)
if username in users:
print("\nUsername already exists!\n")
else:
password = input("Create Password: ")
users[username] = password
f.write(password)
print("\nUser created\n")
def oldUser():
login = input("Enter username: ")
passw = input("Enter password: ")
if login in users and users[login] == passw:
print("\nLogin Successful!\n")
else:
print("\nUser doesnt exist or wrong password!\n")
while status != "q":
displayMenu()
f.close()
答案 0 :(得分:1)
问题在于您的f.close()
语句仅在退出应用程序后才执行,因此数据无法可靠地刷新到文件中。
最简单的解决方法可能是在f.close()
函数中将f.write(password)
移到newUser
之后。
答案 1 :(得分:0)
答案很简单。由于程序无法在文件中存储数据,因此未调用f.close()
。所以我在f.close()
def exitCode():
def exitCode():
f.close()
exit()