简介:1.在本地创建两个文件,一个文件的内容是存储用户名和密码,另一个的内容是存储锁定的用户

         2.登录次数限制为三次,当密码错误三次后,该账号锁定,无法再次登录

#coding=utf-8

user_info_list = []
#打开两个文件
with open('userinfo','rb') as userinfo_file,\
open('locketuser','rb') as locketuser_file:
all_userinfo_file = userinfo_file.read() #获取文件中的内容
all_userinfo_file_list = all_userinfo_file.splitlines() #把文件中的内容按行分割,放入列表中
for user_info_str in all_userinfo_file_list: #获取列表中的每个元素
user_info_tuple = tuple(user_info_str.split()) #把每个元素保存为一个数组
user_info_list.append(user_info_tuple) #把每个数组添加到一个列表中
user_info_dict = dict(user_info_list) #把列表转为一个字典 all_locketuser_file = locketuser_file.read()
user_locket_info_list = all_locketuser_file.splitlines()
with open('locketuser','ab') as locketuser_file:
while True:
user_login_flag = False #定义一个是否登录状态的,初始值未false
username_input=raw_input('请输入用户名:')
if username_input in user_locket_info_list: #先判断是否在黑名单中
print ("您已被加入黑名单,请重新输入。。。")
elif username_input in user_info_dict: #判断用户名是否在字典中
count = 3
while True:
pass_word = raw_input("请输入密码:")
if pass_word == user_info_dict.get(username_input): #通过字典,直接判断用户名和密码是否匹配
user_login_flag = True
print ("{0}登录成功,欢迎。。".format(username_input))
break #登录成功,跳出内层while循环
else:
count -= 1 #用户名和密码未匹配成功,可尝试登录次数-1
if count == 0: #可尝试登录次数为0,则退出
locketuser_file.write(username_input)
exit("{0}已被锁定".format(username_input))
print ("{0}密码错误,还剩{1}次机会。。".format(username_input,count)) #可尝试登录次数不为0,可继续尝试登录,给出剩余次数提示
if user_login_flag: #如果登录成功,则跳出外层while循环
break
else:
print ("\033[31m{0}\033[0m,此用户名不存在,请重新输入".format(username_input))

  

python-实现登录接口的更多相关文章

  1. (转)python编写登录接口

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://506554897.blog.51cto.com/2823970/1907262 ...

  2. Python+request 登录接口reponse的返回值token跨py文件的传递《二》

    主要使用场景: 一般我们在进行接口测试时,依赖登录接口后reponse中的某些返回值,因此需要将login接口单独写一个py文件,另外的py文件均可调用login的reponse返回值使用.共用登录接 ...

  3. Python+request 登录接口reponse中token传递给其他接口使用,小示例介绍《一》

    要求: 1.调用登录login 2.调用通过登录接口返回的reponse中的token和uuid,实现test_create_todo接口的测试 实现: 1.login登录接口的调用,直接填写对应的U ...

  4. Python之登录接口

    要求 1.输入用户名密码2.认证成功后显示欢迎信息3.输错三次后锁定 思路 没有数据库,这里使用本地文件,一共需要两个文件:       黑名单的文件:黑名单里检测,不让登录     用户信息文件:将 ...

  5. 8.Python编写登录接口

    1.python需安装flask,在命令行窗口输入:pip3 install flask 2.代码如下所示: from flask import Flask,request,jsonify,sessi ...

  6. Python实现登录接口

    要求: 输入用户名和密码 认证成功,显示欢迎信息 用户名3次输入错误后,退出程序 密码3次输入错误后,锁定用户名 Readme: UserList.txt 是存放用户名和密码的文件,格式为:usern ...

  7. Python作业--登录接口

    作业需求: 编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 实现思路: 1.从文件获取用户名密码 2.判断是否在黑名单中 3.验证用户名密码 成功:输出认证成功 错误:判断验证次 ...

  8. python编写登录接口

    要求: 输入用户名密码     认证成功显示欢迎信息 输错三次以后锁定 代码如下: # Author:YKwhile(True): select=input('请问是注册还是登录') if selec ...

  9. Python 编写登录接口

    流程图: 源码:

  10. python 测试登录接口只返回response200的问题

    但是使用postman测试是有json串的 后来发现postman传参是用的raw格式,raw的格式相当于json 而这里的data其实是form-data格式,需要用json的格式

随机推荐

  1. Oracle 角色及其权限

    一.简介 Oracle权限分为系统权限和对象权限. 1.系统权限 注意:系统权限不支持级联回收,所以你需要使用sysdba一个个的回收. 2.对象权限 注:对象权限支持级联回收,系统权限不支持级联回收 ...

  2. word 快捷键

    Ctrl+shift+F9  清除word文档中的超链接

  3. matlab遍历文件制作自己的数据集 .mat文件

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9115788.html 看到深度学习里面的教学动不动就是拿MNIST数据集,或者是IMGPACK ...

  4. I/O流复制文本

    package io; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io. ...

  5. Java对象的生命周期与作用域的讨论(转)

    导读: Java对象的生命周期大致包括三个阶段:对象的创建,对象的使用,对象的清除.因此,对象的生命周期长度可用如下的表达式表示:T = T1 + T2 +T3.其中T1表示对象的创建时间,T2表示对 ...

  6. Hashtable语法简介

    Hashtable简述 Hashtable是System.Collections命名空间提供的一个容器 Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任 ...

  7. C#学习笔记12

    1.在使用反射时,反射可以绕过安全访问级别(private.protected)修饰的类或属性,来获取需要的信息. 2.泛型的反射:可以使用Type.ContainsGenericParameters ...

  8. 移除script标签引起的兼容性问题

    一.应用场景: 有时候我们需要动态创建script标签实现脚本的按需加载,我们会为script标签绑定onload或者onreadystatechange事件,用于检测动态脚本是否加载并执行完毕,在事 ...

  9. Visual Paradigm for UML 10.0 SP1 企业中文下载地址、安装及激活详解教程

    https://blog.csdn.net/u013354805/article/details/46531833

  10. Nginx管理(一)

    一.Nginx介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务. 1.Nginx历史和特性 Nginx是由伊戈尔·赛索耶夫为俄罗斯 ...