模擬登錄:python
user.txt 用戶文件ide
alex----123 alex1----456
lock.txt 鎖定用戶文件code
alex
login.py 運行文件utf-8
#!/use/bin/env python # -*- coding:utf-8 -*- #獲取user.txt內容 with open("user.txt","r",encoding="utf-8") as f: user_info = f.read() # 顯示文本內容 user_list = user_info.split() # 加入列表 user_dic = {} # 定義空字典 for itme in user_list: # 循環user_list列表 user_list = itme.split("----") # 截取---- user_dic[user_list[0]] = user_list[1] # 把文本中的內容截取----後加入字典 count = 0 # count從0開始 while count < 3: username = input("\033[38;1m請輸入用戶名-->>\033[0m:") if username in user_dic: #判斷username是否在字典中 #r+爲讀寫模式 with open("lock.txt", "r+", encoding="utf-8") as f: lock_info = f.read() lock_list = lock_info.split() #截取文本中的空格 if username in lock_list: # 判斷輸入的用戶是否在被鎖定文件中 print("\033[31;1m此用戶被鎖定,請聯繫管理員解綁\033[0m") else: password = input("\033[38;1m請輸入密碼-->>\033[0m:") print(user_dic) if password == user_dic[username]:#判斷字典中賬號密碼是否正確 print("%s:\033[36;1m登陸成功!\033[0m"%username) exit() else: count +=1 #密碼每次錯誤數量加1 if count==3: #錯誤3次賬號鎖定 f.write('\n'+username) print("\033[31;1m密碼錯誤3次,賬號已被鎖定\033[0m") else: print("\033[31;1m密碼錯誤,還能夠再試%s次\033[0m"%(3-count)) else: print("\033[31;1m用戶名輸入錯誤!\033[0m")