提供user文件,user.txt
$ cat user.txt #第一列显示为用户名,第二列显示为密码
123123 123123
321321 321321
#!/usr/bin/env python
# -*- coding:utf-8 -*-
f = file('user.txt','r')
Lock_User = []
count = 0
i = 0
while True:
User = raw_input('请输入用户名:')
while not User.strip():
User = raw_input('请输入用户名:')
Pass = raw_input('请输入密码:')
f.seek(0)
Flag = True
for i in Lock_User: #检查输入的用户名是否在锁定的用户列表内;
if User == i:
print Lock_User
print "用户锁定"
Flag = False #如果用户在锁定列表内,flag标记为False
for line in f.readlines():
if Flag == False: #如果Flag标记为False,那么退出for循环
break
a = line.split() #将文件内的每一行变成列表;
if User == a[0]: #如果列表内第一个字符串等于刚才输入的用户名;
print a[0] #这个是测试用的,打印用户名,可以删除
if Pass == a[1]: #如果列表内第二个字符串等于刚才输入的密码;
print "登录成功!"
continue #如果登录成功,不在执行循环后面的代码
if Pass != a[1]:
count = count + 1 #如果密码错误,计数器加1;
print "帐号或密码错误,重新登录!!"
if count >= 3:
Lock_User.append(a[0]) #如果计数器大于3,则加入lock列表;
break
if User != a[0] and User != i: #如果用户不在文件列表里,也不在锁定的列表里,显示用户不存在;
print "用户不存在:"
测试结果: