#coding:utf-8
import getpass,sys
i=0
j=0
while i<3:
username=raw_input('username:') #输入用户名
life_1=open('account_lock.txt','r+') #定义锁定文件的文件对象
life_1list=life_1.readlines() #按行将内容赋值给列表life_1list
for life1 in life_1list:
user1=life1.strip('\n') #去除每行中的换行符
if username==user1: #判断该用户是否锁定
sys.exit('用户%s已被锁定,请联系管理员!'%username)
life_2=open('account.txt','r') #定义用户表的文件对象
life_2list=life_2.readlines()
for life2 in life_2list:
(name,pas)=life2.strip('\n').split() #将文件中的用户名和密码去除回车符和切片,并分别赋值
if username==name: #判断输入的用户名是否在用户表中
while j<3: #用户名存在的情况下,密码判断
userpass=raw_input('userpass:')
if pas==userpass:
sys.exit('登陆成功!')
else:
print('密码错误请重新输入')
j+=1
if j==3: # 密码输入错误次数太多,将用户名写入锁定文件中
life_1.write(username+'\n')
sys.exit(1)
print('用户名错误请重新输入')
i+=1
if i==3: #用户名输入错误次数太多,退出输入
sys.exit('因为你输入的错误次数太多,该用户已被锁定!')
life_1.close() #关闭文件
life_2.close()
需求:1.输入用户名密码
2.认证成功后显示欢迎信息
3.输错三次后锁定