Python编写登录接口,从文件中获取用户名密码,输错三次后自动锁定并存储在文件中
作者:互联网
1 file1 = open("lock.txt") #默认以只读形式,打开lock.txt这个文件 2 3 lock = [] #定义一个名为lock的空列表 4 5 for i in file1.readlines(): #按行读取file1中的字符串,读取结束后指针指向txt文件的末尾 6 7 lock.append(i.strip("\n")) #出去file1文件中每行字符串结尾的换行符,将每一行的被锁定用户名添加到lock列表中 8 username = "" 9 while username == "": 10 username = input("username:") #输入用户名 11 if username == "": 12 print("用户名输入不能为空,请重新输入!!!") 13 14 if username in lock: #首先判断用户名是否被锁定,即是否在锁定列表中 15 print("该账户已经被锁定,请联系开户行!!!") 16 17 else: 18 19 k=1 20 21 while k<=3: 22 23 login = False #定义一个登录是否成功的标识符 24 25 print("username:",username) 26 27 password = "" 28 while password == "": 29 password = input("password:") # 输入用户名 30 if password == "": 31 print("用户名输入不能为空,请重新输入!!!") 32 33 file2 = open("users.txt") #默认以只读形式,打开users.txt这个文件 34 35 for j in file2.readlines(): #按行读取file1中的字符串,读取结束后指针指向txt文件的末尾 36 37 if username == j.split()[0] and password == j.split()[1]: #将同一行的用户名和密码放入同一个列表中,与输入进行比较 38 print("欢迎登陆ATM存取款系统...") 39 40 login = True #登录成功更改标识符 41 42 file2.close() #关闭文件users.txt 43 break 44 45 else: 46 continue 47 48 if login == True: 49 50 break 51 else: 52 print("你输入的账号或者密码无效,再过", (3 - k), "次,你的账号将会被锁定!!!") 53 54 file2.close() 55 k += 1 56 if k ==4: 57 print("账户输入错误三次已锁定...") 58 file3 = open("lock.txt",'a') #以写的形式打开lock.txt这个文件 59 file3.write(username) #将被锁定的用户名写入txt文件中 60 file3.write("\n") 61 file3.close() #关闭文件lock.txt 62 63 file1.close() #关闭文件lock.txt
文件格式:
输出结果:
username:ZhangSan username: ZhangSan password:12 你输入的账号或者密码无效,再过 2 次,你的账号将会被锁定!!! username: ZhangSan password:123 欢迎登陆ATM存取款系统...
标签:username,输错,用户名,Python,lock,file1,从文件,锁定,ZhangSan 来源: https://www.cnblogs.com/GengFeiFei666/p/15356439.html