我是python的新手,我正在尝试使用文本文件做一个简单的Register&Login System。我想做的是: 1.启动应用后,要求用户登录或注册。 (完成) 2.如果用户要登录,我们启动文件阅读器并从TXT文件获取列表数据。 (未完成。) 3.如果用户要注册,我们启动文件编写器,然后写入TXT文件中的列表,以将用户添加到注册用户列表中。
我认为TXT文件中的列表应如下所示。
帐户= [“用户名”:用户名,“密码”:密码]
while True:
Login_Register = input("Welcome,\nType L for Login, R to Register\n")
if "L" in Login_Register or "l" in Login_Register:
Vardas = input("~ Please enter your Username!\n")
with open(ban_list, mode='r', encoding='utf-8') as f:
if Vardas in f.read():
Password = input("Please enter your password for user {}".format(Vardas))
else:
print("Account With'in this name does not exist!")
continue
if "R" in Login_Register or "r" in Login_Register:
break
编辑* 我想了一下,改变了主意,对TXT文件中的列表应该看起来像这样: 帐户= [“用户名”:Vardas,“密码”:密码]
我们在代码中使用Vardas作为变量,所以我认为这是完成的过程。
答案 0 :(得分:1)
如果有什么不对,请在注释中告诉我
check = True
Login_Register = input("Welcome,\nType L for Login, R to Register\n")
if Login_Register == "l" or Login_Register =="L":
while check:
with open('accountfile.txt', 'r') as f:
username1 = input("Enter your username: ")
password1 = input("Enter your password: ")
for line in f:
if("Username:"+username1+" Password:"+password1) == line.strip():
print("you are logged in")
check = False
break;
else:
print("Username or password does not exist")
elif Login_Register == "r" or Login_Register == "R":
f = open("accountfile.txt","a+")
username2 = input("~ Please enter your Username!\n")
password2 = input("~ Please enter your password!\n")
f.write(f"\nUsername:{username2} Password:{password2}\n")
f.close()
print("username and password has been made")
答案 1 :(得分:0)
您提供的列表
["Username" : Vardas, "Password" : password]
不是有效的python列表,您将需要使用如下字典:
{"Username" : Vardas, "Password" : password}
对于将密码存储在.txt文件中并不是一个好主意,您应该研究获取Google's Firebase这样的数据库,并阅读可以从{ {1}}
希望这会有所帮助。