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 相关文章推荐
Python3读取文件常用方法实例分析
May 22 Python
在java中如何定义一个抽象属性示例详解
Aug 18 Python
python发送告警邮件脚本
Sep 17 Python
使用11行Python代码盗取了室友的U盘内容
Oct 23 Python
Python一句代码实现找出所有水仙花数的方法
Nov 13 Python
对pandas的算术运算和数据对齐实例详解
Dec 22 Python
python 限制函数执行时间,自己实现timeout的实例
Jan 12 Python
python3 selenium自动化 下拉框定位的例子
Aug 23 Python
Python collections.deque双边队列原理详解
Oct 05 Python
用python进行视频剪辑
Nov 02 Python
python爬虫scrapy框架之增量式爬虫的示例代码
Feb 26 Python
pytorch显存一直变大的解决方案
Apr 08 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 高效率写法 推荐
2010/02/21 PHP
PHP中__get()和__set()的用法实例详解
2013/06/04 PHP
浅析memcache启动以及telnet命令详解
2013/06/28 PHP
项目中应用Redis+Php的场景
2016/05/22 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
javascript 关于# 和 void的区别分析
2009/10/26 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
2013/05/10 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
js实例属性和原型属性示例详解
2014/11/23 Javascript
JavaScript中的substr()方法使用详解
2015/06/06 Javascript
JS简单实现城市二级联动选择插件的方法
2015/08/19 Javascript
js实现YouKu的漂亮搜索框效果
2015/08/19 Javascript
JavaScript文本框脚本编写的注意事项
2016/01/25 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
JavaScript生成图形验证码
2020/08/24 Javascript
理解nodejs的stream和pipe机制的原理和实现
2017/08/12 NodeJs
浅谈Node Inspector 代理实现
2017/10/19 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
Vue实现本地购物车功能
2018/12/05 Javascript
详解vue项目打包步骤
2019/03/29 Javascript
Pytorch 之修改Tensor部分值方式
2019/12/27 Python
VSCode配合pipenv搞定虚拟环境的实现方法
2020/05/17 Python
Python datetime模块的使用示例
2021/02/02 Python
python中scipy.stats产生随机数实例讲解
2021/02/19 Python
CSS3实现歌词进度文字颜色填充变化动态效果的思路详解
2020/06/02 HTML / CSS
canvas绘制太极图的实现示例
2020/04/29 HTML / CSS
老公保证书范文
2014/04/29 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书
2016年保险公众宣传日活动总结
2016/04/05 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书
Elasticsearch 数据类型及管理
2022/04/19 Python
详解PyTorch模型保存与加载
2022/04/28 Python