用户输入用户名密码,密码认证三次,都输入不正确锁定
账户密码记录文件 data,
hong|123 ding|123
锁定账户密码文件 data1,
hong

1 import os,sys,getpass 2 from pathlib import Path 3 f = open(Path(__file__).parent / "data","r") #指定账户文件 4 d = open(Path(__file__).parent / "data1","r+") #读取黑名单 5 6 #看是否锁定 7 name_in = input("Pleae input your name:").strip() 8 for black in d: 9 if name_in == black.strip(): 10 print("\033[31m Your count has locked \033[0m") 11 sys.exit() 12 # sys.exit("Your count has locked,Please contect the manager!") 13 #判断是否为有效账户 14 if name_in not in f.read(): 15 sys.exit("Please check your name,invalid name") 16 f.close() 17 18 19 for i in range(3): 20 f = open(Path(__file__).parent / "data","r") 21 pass_in = getpass.getpass("Please input your password:") #用户输入密码 22 ##开始验证用户密码 23 for line in f: #读取账户 24 f_name = line.split("|")[0] #获取用户名 25 f_pass = line.split("|")[1].strip() #获取密码 26 if name_in == f_name and pass_in == f_pass: 27 sys.exit("Wellcome") 28 else: 29 cout_t = 2 - i 30 print("password error,please try again,you have %s times" % cout_t) 31 break 32 f.close() 33 else: 34 d.write(name_in + "\n") #失败3次加入黑名单 35 sys.exit("your count has locked") 36 d.close()
