标签:
项目名称:
编写登陆接口
项目需求:
1 #!/usr/bin/env python3 2 # Auth: Shen Yang 3 import json 4 import getpass 5 6 vaild_user = {‘yang‘: ‘123‘,‘lu‘: ‘321‘} #定义可以登陆的用户及密码 7 black_list_file_path = "e://Python-study/black_list.db" #定义黑名单路径 8 9 try: # 使用try 来判断文件是否存在,如果不存在说明是第一次运行或者没有被blok 的用户,初始化用户名及密码输入错误次数 10 black_list_file = open(black_list_file_path,"r") # 使用file 以读的方式打开文件 11 black_list = json.load(black_list_file) #使用json 来载入文件存入的字典 12 black_list_file.close() # 关闭文件 13 except FileNotFoundError : 14 black_list = {"lu": 0, "yang": 0} 15 16 while True: #循环执行输入名字 17 input_user = input("please input your name: ") 18 if input_user in vaild_user: #判断输入的用户是否在可以登陆的名单里 19 if black_list[input_user] == 3: # 判断用户是否已经输错密码3次 20 print("User {_input_user} is locked !".format(_input_user=input_user)) 21 break 22 input_passwd = getpass.getpass("please input your passwd: ") 23 if input_passwd == vaild_user[input_user]: #判断密码是否正确 24 print(28 * "+") 25 print("Welcome {_input_user} to your server!".format(_input_user=input_user)) 26 print(28 * "+") 27 break 28 else: # 密码不正确 29 print("Invalid passwd") 30 black_list[input_user] += 1 # 密码输入错误次数每次 + 1 31 if black_list[input_user] == 3: # 如果密码错误次数等于3 ,输出锁定信息并修改密码错误次数为3,下次登陆会先判断此值 32 print("User {_input_user} is locked !".format(_input_user=input_user)) 33 black_list_file = open(black_list_file_path,"w") # 使用file 以写的模式打开文件 34 json.dump(black_list,black_list_file) # 使用json 来把字典持久化到文件中 35 black_list_file.close() # 关闭文件 36 break 37 else: # 判断输入的用户不在定义里输出错误信息并退出 38 print("User {_input_user} is not allowd in our system! bayby...".format(_input_user=input_user)) 39 break
标签:
原文地址:http://www.cnblogs.com/yangever/p/5700673.html