作者:保定联通员工 | 来源:互联网 | 2018-07-17 19:11
本文实例为大家分享了简单的Python登录验证,供大家参考,具体内容如下
编写登录接口
要求:1、输入用户名密码
2、认证成功后显示欢迎信息
3、输错三次后锁定
#coding=utf-8
__author__ = 'wangwc'
import sys,os
count = 0
locked = 0
mark_user = 0
mark_passwd = 0
#获取路径
def cur_file_dir():
path = sys.path[0]
if os.path.isdir(path):
return path
elif os.path.isfile(path):
return os.path.dirname(path)
#print (cur_file_dir())
path = cur_file_dir()
#print(path)
path1 = path.replace("\\",'/') + '/'
#print (path1)
#path2 = path1 + '/'
#循环输入
while count <3:
name = input("Username:").strip()
if len(name) == 0:
print ("Username can not be empty....")
continue
key = input("Password:").strip()
if len(key) == 0:
print("The password can not be empty!Try again...")
continue
f = open(path1 + "username.txt","r")
userlist = f.readlines()
for user in userlist:
if user.strip() == name:
mark_user = 1
f.close()
if mark_user == 1:
f = open(path1 + "%s_lock.txt" %(name),"r")
locked = int(f.readline().strip())
f.close()
else:
print ("Username or Passsord wrong....")
break
if locked == 1:
print("Sorry, the username had been locked!!!Please call the system administrator...")
else:
f = open (path1 + "%s_passwd.txt" %(name),"r")
passwd = (f.readline().strip())
if passwd.strip() == key:
mark_passwd = 1
if mark_user == 1 and mark_passwd == 1:
f = open("%s_count.txt" %(name),"w")
f.write("0")
f.close()
print("%s,welcome BABY!" %(name) )
#input('Press Enter to exit')
else:
f = open("%s_count.txt" %(name),"r")
count = int((f.read().strip()))
f.close()
count +=1
f = open("%s_count.txt" %(name),"w")
f.write(str(count))
f.close()
print ("Username or password wrong!And the username '%s' has %d more chances to retry!" %(name,3 - count))
if(count == 3):
print ("'%s' has been locked!!!" %(name))
if os.path.exists(path1 + "%s_lock.txt" %(name)):
fobj = open(path1 + "%s_lock.txt" %(name),"w")
fobj.writelines("1\n")
else:
print ("Username or password wrong!")
continue
以上就是本文的全部内容,希望对大家的学习有所帮助。