#!usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Zhuyuzhe
import sys
import os
import getpass
os.system('cls')
RetryCount = 0 # 重试计数器
RetryLimit = 3 # 最大重试次数
while RetryCount < RetryLimit:
InputName = input('请输入用户名:')
# 读取锁定用户列表
LockFile = open('account_lock.txt','r+')
LockList = LockFile.readlines()
# 判断是否为锁定用户
for LockLine in LockList:
LockLine = LockLine.strip('\n') # strip()方法用于移除字符串头尾指定的字符(默认为空格)。
if InputName == LockLine:
print('用户已经被锁定,退出...')
sys.exit()
# 读取用户名及密码
UserFile = open('account.txt','r')
UserList = UserFile.readlines()
for UserLine in UserList:
(User,Password) = UserLine.strip('\n').split() # split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串
if InputName == User: #如果输入的用户名正确
j = 0
while j < RetryLimit:
InputPassword = getpass.getpass('请输入密码:')
if InputPassword == Password: #密码输入正确
print('Welcome login...')
sys.exit(0)
j += 1
else:
LockFile.writelines(InputName + '\n')
print('重试次数过多,用户 %s 被锁定'% InputName)
else: # 如果输入的用户名不存在
pass
RetryCount += 1
LockFile.close()
UserFile.close()