1. 程式人生 > >用戶登陸認證

用戶登陸認證

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

用戶登陸認證