我正在开发一个登录系统,但在用户和密码存储部分遇到了问题。我做了一个列表,然后我把它外包给一个文本文件,它把所有的东西都写在里面,但是每次我再次运行程序的时候,它就会把之前存储的所有东西都删除。这是我写到现在的代码。如果我还有什么地方做错了,请告诉我,我很乐意得到一个更熟练的人的意见。
done = True
while done == True:
user = input('Create Username: ')
from pwgen import genPass
break
while done == True:
password = input('Create Password: ')
done = False
store_user = []
store_pass = []
store_userpass = []
if user in store_user:
print("That user already exists")
else:
store_user.append(user)
store_pass.append(password)
outF = open('user.txt', 'w')
outf= open('pw.txt', 'w')
for line in store_user:
outF.write(line)
outF.write('\n')
for line1 in store_pass:
outf.write(line1)
outf.write('\n')
outF.close()
outf.close()
done = False
while True:
userguess=""
passwordguess=""
key=""
while (userguess != user) and (passwordguess != password):
userguess = input('User Name: ')
passwordguess = input('Password: ')
if userguess != user:
print("Error: Unknown username.")
if userguess == user and passwordguess != password:
print("Error: Incorrect password. Try again.")
if userguess != user and passwordguess != password:
print("Error: Unknown user and password combination.")
if userguess == user and passwordguess == password:
print("Welcome,", user, ". Type lock to lock this user.")
break
while key != "lock":
key = input()
你打开文件 user.txt
和 pw.txt
在 write
模式(在 open
函数),每次都会重新创建文件,而不是使用 append
模式,这将允许您将数据附加到您的文件。
试试。
outF = open('user.txt', 'a')
outf= open('pw.txt', 'a')
而不是:
outF = open('user.txt', 'w')
outf= open('pw.txt', 'w')