1 #-*- coding:utf-8 -*-
2 #author:steven kang
3 4 import os,sys,getpass #
匯入os,sys,getpass 模組
5 u = 0 #
使用者的迴圈次數
6 while u < 3:
7 username = input("
請輸入您的使用者名稱:
") #
使用input 讓使用者輸入並賦值給username變數
8 lock_file = open('
account_lock.txt
','r+
') #
開啟account_lock檔案,許可權是讀取更新,並賦值給lock_f變數
9 lock_list = lock_file.readlines() #
使用.readlines的方法逐行讀取account_lock檔案,並賦值給lock_list變數
10 11 for lock_line in lock_list: #
使用for迴圈讀取account_lock的內容
12 lock_line = lock_line.strip('
\n') #
使用.strip()的方法去點換行符
13 if username ==lock_line:
14 print('
' % username) #
如果存在列印輸出
15 sys.exit(1) #
跳出迴圈
16 user_file = open('
account.txt
','r
') #
開啟account檔案,許可權是讀取更新,並賦值給user_f變數
17 user_list = user_file.readlines() #
使用.readlines的方法逐行讀取account檔案,並賦值給user_list變數
18 for user_line in user_list: #
使用for迴圈讀取account的內容
19 (user,passwd) = user_line.strip('
\n').split() #
分別獲取賬號和密碼資訊
20 if username == user: #
使用if判斷使用者輸入的使用者是否在normal_user中存在
21 p = 0 #
輸入密碼的迴圈次數
22 while p < 3: #
只要使用者登入異常不超過3次就不斷迴圈
23 password = getpass.getpass('
請輸入您的密碼:
') #
使用getpass模組的.getpass方法讓使用者輸入密碼(輸入的時候不會顯示)
24 if password == passwd: #
使用if判斷使用者輸入的密碼在normal_user中是否存在(相等)
25 print('
歡迎 %s 登入系統
' %username) #
使用者名稱密碼全部相等(存在)列印歡迎登入資訊
26 sys.exit(0) #
跳出迴圈
27 else
:28 if p != 2:
29 print('
對不起,%s 的密碼錯誤,請重新輸入,您還有 %d 次機會
'%(username,2 -p))
30 p += 1 #
密碼輸入錯誤後,迴圈值增加1
31 else
:32 lock_file.write(username + '
\n') #
使用者名稱密碼輸入次數超過3次的使用者新增到account_lock檔案中
33 #
lock_f.write('%s \n' %username)
34 sys.exit('
'%username)
35 else
:36 pass
#當使用者沒匹配時,跳過並繼續迴圈
37 else
:38 if u != 2: #
i=2時,是最後一次機會,不用在提示還剩餘0次機會了
39 print('
對不起,%s 輸入錯誤,請重新輸入,您還有 %d 次機會
' %(username, 2 -u))
40 u += 1 #
當使用者輸入錯誤時,迴圈值增加1
41 else
:42 sys.exit('
因為您的錯誤輸入,程式已經退出,請重新執行
') #
使用者輸入三次錯誤後,異常退出
43 lock_f.close() #
關閉lock_f檔案
python 登陸介面
登陸介面要求 輸入使用者名稱密碼 認證成功後顯示登陸成功資訊 輸錯三次後鎖定並追加到user lock檔案 一 只針對帳號檔案裡的使用者進行判斷並鎖定,針對使用者和密碼各有三次錯誤重試機會。1 流程圖如下 2.如下1 usr bin env python 2import sys,os,getpass...
python登陸介面
user jack password 123 count 0 def write lock list name 將輸入的使用者名稱寫入檔案當中 file open lock list w file.writelines name file.close def read lock list name ...
Python編寫登陸介面
編寫登陸介面 輸入使用者名稱密碼 認證成功後顯示歡迎資訊 輸出三次後鎖定 author baihaoxiang import json 編寫登陸介面 輸入使用者名稱密碼 認證成功後顯示歡迎資訊 輸出三次後鎖定 思路1 使用者名稱和密碼用字典1存datauser 建立乙個使用者名稱和可用的字典2,da...