您好,登錄后才能下訂單哦!
小編給大家分享一下python實現簡單登陸流程的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
登陸流程圖:
代碼實現:
#-*- coding=utf-8 -*- import os,sys,getpass ''' user.txt 格式 賬號 密碼 是否鎖定 錯誤次數 jack 123 unlock 0 tom 123 unlock 0 lily 123 unlock 0 hanmeimei 123 unlock 0 lucy 123 unlock 0 ''' # 定義寫入文件的函數 def wirte_to_user_file(users,user_file_path): user_file = file(user_file_path,'w+') for k,v in users.items(): line = [] line.append(k) line.extend(v) user_file.write(' '.join(line)+'\n') user_file.close() # 判斷用戶文件是否存在,不存在直接退出 user_file_path = 'users.txt' if os.path.exists(user_file_path): user_file = file(user_file_path,'r') else: print 'user file is not exists' sys.exit(1) # 遍歷用戶文件,將用戶包裝成字典 users_dic = {} for user_line in user_file: user = user_line.strip().split() users_dic[user[0]] = user[1:] ''' { 'lucy': ['123', 'unlock', '0'], 'lily': ['123', 'unlock', '0'], 'jack': ['123', 'unlock', '0'], 'hanmeimei': ['123', 'unlock', '0'], 'tom': ['123', 'unlock', '0'] } ''' while True: # 輸入賬號 input_name = raw_input('please input your username,input "quit" or "q" will be exit : ').strip() # 判斷是否為退出 if input_name == 'quit' or input_name == 'q': sys.exit(0) # 輸入密碼 password = getpass.getpass('please input your password:').strip() # 判斷賬號是否存在、是否鎖定 if input_name not in users_dic: print 'username or password is not right' break if users_dic[input_name][1] == 'lock': print 'user has been locked' break # 判斷密碼是否正確,正確,登陸成功 if str(password) == users_dic[input_name][0]: print 'login success,welcome to study system' sys.exit(0) else: # 如果密碼錯誤則修改密碼錯誤次數 users_dic[input_name][2] = str(int(users_dic[input_name][2])+1) # 密碼錯誤次數大于3的時候則鎖定,并修改狀態 if int(users_dic[input_name][2]) >= 3: print 'password input wrong has 3 times,user will be locked,please connect administrator' users_dic[input_name][1] = 'lock' wirte_to_user_file(users_dic,user_file_path) break wirte_to_user_file(users_dic,user_file_path)
以上是“python實現簡單登陸流程的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。