用戶登陸認證
阿新 • • 發佈:2017-12-27
spl rip 繼續 name %d python3 author username 屏幕
1)輸入用戶名密碼
2)認證成功後顯示歡迎信息
3)輸錯三次後鎖定
#!/usr/local/bin/python3
# Author: Jonas Mao
import os
import sys
import getpass
os.system(‘clear‘) #清理屏幕(可選)
user_limit = 0
while user_limit < 3:
username = input(‘請輸入您的用戶名:‘)
lock_file = open(‘lock_list‘,‘r+‘)
lock_file2 = lock_file.readlines()
for lock in lock_file2:
lock = lock.strip(‘\n‘)
if username == lock:
print(‘用戶%s已經鎖定,請聯系系統管理員!‘ % username)
sys.exit(1)
user_file = open(‘user_list‘,‘r+‘).readlines()
for user in user_file:
(user,passwd) = user.strip(‘\n‘).split() #分別獲取帳號和密碼信息
if username == user:
passwd_limit = 0
while passwd_limit < 3:
password = getpass.getpass(‘請輸入您的密碼:‘) #輸入密碼時不可見
if password == passwd:
print(‘歡迎用戶%s登錄系統!‘ %username)
sys.exit(0)
else:
if passwd_limit != 2:
print(‘用戶%s的密碼錯誤,請重新輸入,還有%d次機會!‘ %(username,2-passwd_limit))
passwd_limit += 1
else:
lock_file.write(username + ‘\n‘)
lock_file.close()
sys.exit(‘用戶%s已經鎖定,請聯系管理員!‘ % username)
else:
pass #當用戶沒匹配時,跳過並繼續循環
else:
if user_limit != 2:
print(‘用戶%s輸入錯誤,請重新輸入,還有%d次機會!‘ %(username,2-user_limit))
else:
sys.exit(‘錯誤輸入導致程序退出,請重新運行!‘)
user_limit += 1
用戶登陸認證