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实现生成随机密码的方法
Aug 23 Python
Python读写unicode文件的方法
Jul 10 Python
python从入门到精通(DAY 2)
Dec 20 Python
Python中正则表达式详解
May 17 Python
python如何实现一个刷网页小程序
Nov 27 Python
Python+OpenCV实现图像融合的原理及代码
Dec 03 Python
Python3 导入上级目录中的模块实例
Feb 16 Python
详解python中index()、find()方法
Aug 29 Python
tensorflow模型继续训练 fineturn实例
Jan 21 Python
python实现简单猜单词游戏
Dec 24 Python
Python opencv缺陷检测的实现及问题解决
Apr 24 Python
python字符串的一些常见实用操作
Apr 06 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操纵mysqli数据库的实现方法
2016/09/18 PHP
yii2 url重写并隐藏index.php方法
2018/12/10 PHP
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
javaScript如何处理从java后台返回的list
2014/04/24 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
javascript cookie的基本操作(添加和删除)
2017/07/24 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
vue中Npm run build 根据环境传递参数方法来打包不同域名
2018/03/29 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
浅谈JavaScript节流和防抖函数
2020/08/25 Javascript
vue穿梭框实现上下移动
2021/01/29 Vue.js
[02:15]2015国际邀请赛选手档案IG.Ferrari 430
2015/07/30 DOTA
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
Python金融数据可视化汇总
2017/11/17 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
Python引入多个模块及包的概念过程解析
2020/09/21 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
利用Python如何画一颗心、小人发射爱心
2021/02/21 Python
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
工厂保洁员岗位职责
2013/12/04 职场文书
仓库管理员岗位职责
2014/03/19 职场文书
初中家长寄语
2014/04/02 职场文书
车辆工程专业求职信
2014/06/14 职场文书
幼儿园中班个人总结
2015/02/28 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书
win sever 2022如何占用操作主机角色
2022/06/25 Servers