python - 如何将登录名从外部文件更改为循环?
问题描述
我想将外部文件中的凭据读取到一个循环中,因此每次密码不正确时它都会再次询问我。
def register():
username = input("Please input the first 2 letters of your first name and your birth year ")
password = input("Please input your desired password ")
file = open("accountfile.txt","a")
file.write(username)
file.write(" ")
file.write(password)
file.write("\n")
file.close()
if login():
print("You are now logged in...")
else:
print("You aren't logged in!")
def login():
username = input("Please enter your username")
password = input("Please enter your password")
for line in open("accountfile.txt","r").readlines():
login_info = line.split() # Split on the space, and store the results in a list of two strings
if username == login_info[0] and password == login_info[1]:
print("Correct credentials!")
return True
print("Incorrect credentials.")
return False
解决方案
只需这样做:
def register():
username = input("Please input the first 2 letters of your first name and your birth year ")
password = input("Please input your desired password ")
with open("accountfile.txt","a") as file:
file.write(username)
file.write(" ")
file.write(password)
file.write("\n")
log = 0
while log != 1:
if login():
log = 1
print("You are now logged in...")
else:
log = 0
print("You aren't logged in! Please try again...\n")
推荐阅读
- ffmpeg - FFMPEG Concat 不同的视频类型以及图像和 Gif
- php - 在 SQL 语句上方填充 PHP 变量
- flutter - 如何在颤振应用程序中覆盖元素?
- php - 在laravel 7中上传图像时数组到字符串转换ErrorException
- apache-kafka - Kafka Connect SMT 添加 Kafka 标头字段
- c# - C# 对列表进行分组,然后从组中删除奇数记录
- android - 如何在活动之间传递生成的大位图图像?
- android - Android 使用 FileProvider 为 File 生成 URI
- macos - 如何防止 VS Code 将其文件扩展名强加给我?
- java - Apache POI / Excel中的新行,一键按下