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 计算文件的md5值实例
Jan 13 Python
Python实现一个转存纯真IP数据库的脚本分享
May 21 Python
python实现简单登陆系统
Oct 18 Python
python pygame实现2048游戏
Nov 20 Python
Python分布式进程中你会遇到的问题解析
May 28 Python
python安装scipy的步骤解析
Sep 28 Python
python图形开发GUI库wxpython使用方法详解
Feb 14 Python
Python Selenium 设置元素等待的三种方式
Mar 18 Python
python软件都是免费的吗
Jun 18 Python
Django集成MongoDB实现过程解析
Dec 01 Python
Python环境搭建过程从安装到Hello World
Feb 05 Python
解决numpy数组互换两行及赋值的问题
Apr 17 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
php5 and xml示例
2006/11/22 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
2017/02/17 PHP
PHP的mysqli_sqlstate()函数讲解
2019/01/23 PHP
JS 文件本身编码转换 图文教程
2009/10/12 Javascript
json2.js的初步学习与了解
2011/10/06 Javascript
javascript history对象(历史记录)使用方法(实现浏览器前进后退)
2014/01/07 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
javascript常用方法汇总
2014/12/02 Javascript
jQuery获取上传文件的名称的正则表达式
2015/05/21 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
D3.js实现散点图和气泡图的方法详解
2016/09/21 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
2016/12/22 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
vue.js 微信支付前端代码分享
2018/02/10 Javascript
python实现查询苹果手机维修进度
2015/03/16 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
2017/05/18 Python
python中利用await关键字如何等待Future对象完成详解
2017/09/07 Python
示例详解Python3 or Python2 两者之间的差异
2018/08/23 Python
使用pycharm设置控制台不换行的操作方法
2019/01/19 Python
Python实现某论坛自动签到功能
2019/08/20 Python
如何通过Django使用本地css/js文件
2020/01/20 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
2020/04/17 Python
Python如何使用队列方式实现多线程爬虫
2020/05/12 Python
python下载的库包存放路径
2020/07/27 Python
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
实现向右循环移位
2014/07/31 面试题
学生保证书范文
2014/04/28 职场文书
房展策划方案
2014/06/07 职场文书
客户答谢会活动方案
2014/08/31 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话
2014/10/21 职场文书
2015年党性分析材料
2014/12/19 职场文书
三国演义读书笔记
2015/06/25 职场文书