python输入错误密码用户锁定实现方法


Posted in Python onNovember 27, 2017

小编给大家带来了用python实现用户多次密码输入错误后,用户锁定的实现方式,以及具体的流程,让大家更好的理解运行的过程。

1.新建一个文件,用以存放白名单用户(正确注册的用户 格式:username:password),再建一个文件,用以存放黑名单用户(输入三次用户名均错误的用户)。

2.读取白名单文件,将内容赋值给一个变量,并关闭。

3.将变量以“ :”分割,分割出得第一位(索引为0)赋值给username,第二位(索引为1)赋值给password。

4.读取黑名单文件,将内容赋值给一个变量,并关闭。

5.定义一个变量(t)用于存放用户输入次数,

6.进行循环,当循环次数小于三次时,继续循环,当次数大于三次时,将提示输入次数大于三次,账号被锁定,

再循环中,输入用户名,循环判断用户名是否在黑名单中,如果在,则提示“该账号已经被锁定”,如果不再黑名单中,再白名单中继续判断,如果用户名再名单中,则继续判断密码是否正确。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @lynn
 
# 读取login.user文件,将内容赋值给变量login_f1,并关闭
f1 = open('login.user','r')
login_f1 = f1.read()
f1.close()
 
# 将变量login_f1的值,分隔符为‘:‘
# 提取第0位元素,赋值给另一个变量ruser
ruser = login_f1.strip().split(":")[0]
# 提取第1位元素,赋值给另一个变量rpwd
rpwd = login_f1.split(":")[1]
 
# 读取黑名单文件lock.user,将内容赋值给变量lock_f2,并关闭
f2 = open('lock.user','r')
lock_f2 = f2.readlines()
f2.close()
 
# 定义一个变量,用于计数
t = 0
 
# 当t小于3时,无限循环。
while t < 3:
  name = input("请输入帐号:")
  for a in lock_f2:
    if name == a:
      print("抱歉!此帐号已被锁定。")
      exit()
  for b in login_f1:
    if name == ruser:
      t = 0
      while t < 3:
        pwd = input("请输入密码:")
        if pwd == rpwd:
          print("Welcome!%s" %name)
          exit()
        else:
          print("Sorry!wrong password.")
        t += 1
      else:
        print("抱歉,错误次数达到3次,该账户被锁定!")
        f = open('lock.user', 'w')
        f.write('%s' % name)
        f.close()
      exit()

相关实例二(python 3.0 ):

 

# -*- coding:utf-8 -*-
#需求模拟用户登录,超过三次错误锁定不允许登陆
 
 
count = 0
 
#realname passwd
Real_Username = "test"
Real_Password = "test"
 
#读取黑名单的内容
f = open('black_user','r')
lock_file = f.read()
f.close()
 
Username = input('请输入用户名:')
 
#判断输入用户是否在黑名单内,如果在则不允许输入密码
for i in range(1):
 if lock_file == Username:
 print('对不起,您的用户已锁定,暂时不允许使用!')
 exit()
 else:
 continue
 
#尝试输入密码并对输入次数进行计数
for i in range(3):
 Password = input("请输入密码:")
 if Username == Real_Username and Password == Real_Password:
 print("登录成功")
 break
 else:
 print("登录失败")
 count += 1
 
#如果输入三次错误密码,则提示用户名锁定,并将用户名拉黑
if count == 3:
 print("对不起,您输入的密码错误次数已经达到3次,您的用户名将被锁定")
 f = open("black_user","w")
 f.write("%s"%Username)
 f.close()
Python 相关文章推荐
跟老齐学Python之集合(set)
Sep 24 Python
python获取文件后缀名及批量更新目录下文件后缀名的方法
Nov 11 Python
用Python进行基础的函数式编程的教程
Mar 31 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
Apr 28 Python
基于scrapy的redis安装和配置方法
Jun 13 Python
python存储16bit和32bit图像的实例
Dec 05 Python
python通过TimedRotatingFileHandler按时间切割日志
Jul 17 Python
python3.7通过thrift操作hbase的示例代码
Jan 14 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
Jan 23 Python
python nohup 实现远程运行不宕机操作
Apr 16 Python
Python正则表达式如何匹配中文
May 27 Python
Python新手学习标准库模块命名
May 29 Python
动态规划之矩阵连乘问题Python实现方法
Nov 27 #Python
Python基于贪心算法解决背包问题示例
Nov 27 #Python
Python标准模块--ContextManager上下文管理器的具体用法
Nov 27 #Python
利用信号如何监控Django模型对象字段值的变化详解
Nov 27 #Python
深入理解Python中range和xrange的区别
Nov 26 #Python
PyCharm在win10的64位系统安装实例
Nov 26 #Python
python shell根据ip获取主机名代码示例
Nov 25 #Python
You might like
PHP生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
js 如何实现对数据库的增删改查
2012/11/23 Javascript
js比较和逻辑运算符的介绍
2013/03/10 Javascript
JSON序列化与解析原生JS方法且IE6和chrome测试通过
2013/09/05 Javascript
表单序列化与jq中的serialize使用示例
2014/02/21 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
全面解析node 表单的图片上传
2016/11/21 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
2017/01/23 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
AngularJS 防止页面闪烁的方法
2017/03/09 Javascript
Vue2.0表单校验组件vee-validate的使用详解
2017/05/02 Javascript
JavaScript实现瀑布流图片效果
2017/06/30 Javascript
jquery拖动改变div大小
2017/07/04 jQuery
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
基于Vuejs的搜索匹配功能实现方法
2018/03/03 Javascript
JavaScript动态创建二维数组的方法示例
2019/02/01 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
Angular8 简单表单验证的实现示例
2020/06/03 Javascript
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
Python中lambda的用法及其与def的区别解析
2014/07/28 Python
Python线性方程组求解运算示例
2018/01/17 Python
CSS3实现时间轴效果
2016/07/11 HTML / CSS
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
迷你西餐厅创业计划书范文
2013/12/31 职场文书
酒店中秋节促销方案
2014/01/30 职场文书
销售人员职业生涯规划范文
2014/03/01 职场文书
导游个人求职信范文
2014/03/23 职场文书
售后服务承诺书范文
2014/03/26 职场文书
学生干部培训方案
2014/06/12 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
个人工作决心书
2015/09/22 职场文书
阿里云 Windows server 2019 配置FTP
2022/04/28 Servers