本文實例為大家分享了Python編寫登陸接口的具體代碼,供大家參考,具體內容如下
1.輸入用戶名密碼;
2.認證成功后顯示歡迎信息;
3.錯誤三次后,賬號被鎖定。
賬號文件:user.txt
鎖定文件:locked.txt
流程圖如下:

# -*- coding:utf-8 -*-# Author Caoxlimport sysaccount_file='E:/user.txt'locked_file='E:/locked.txt'def deny_account(username): print('您的用戶已被鎖定') with file(locked_file,'a') as deny_f: deny_f.write('/n'+username)def main(): retry_count=0 retry_limit=3 #循環次數 while retry_count<retry_limit: #用戶最多重復登陸3次 username=raw_input('請輸入您的用戶名:') #引導用戶輸入用戶名 with file(locked_file,'r') as lock_f: #采用with打開方式,將locked_file賦值lock_f,防止忘記f.close()關閉文件 for line in lock_f.readlines(): #循環遍歷每一行的內容 if len(line)==0: #對每一行內容進行處理 continue if username == line.strip(): #利用.strip這個函數去掉換行符,來對username進行匹配。 sys.exit('用戶已經被鎖定!') if len(username)==0: #提示用戶登錄時,用戶名不能為空! print('用戶名不能為空,請重新輸入') continue password= raw_input('請輸入您的密碼:') #引導用戶輸入密碼 with file(account_file,'r') as account_f: flag= False for line in account_f.readlines(): user,pawd=line.strip().split() #將用戶名和對應密碼進行處理 if username==user and password==pawd: #判斷用戶名和密碼 print('success!') flag=True break #退出for循環 if flag==False: #避免用戶在三次輸入后,依然提示重新輸入。 if retry_count<2: print('您輸入的用戶名或密碼有誤,請重新輸入!') retry_count+=1 else: print('歡迎用戶登陸成功!!') break # 加標志位是為了用戶能夠成功推出整個循環! deny_account(username) #對應上面的def函數把鎖定賬號加入文檔中去if __name__ == '__main__': main()以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答