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 学习笔记
Dec 27 Python
python 快速排序代码
Nov 23 Python
Python访问MySQL封装的常用类实例
Nov 11 Python
使用Python3中的gettext模块翻译Python源码以支持多语言
Mar 31 Python
Python实现二叉堆
Feb 03 Python
Python爬虫:通过关键字爬取百度图片
Feb 17 Python
python与C互相调用的方法详解
Jul 14 Python
Python判断中文字符串是否相等的实例
Jul 06 Python
Python多线程编程之多线程加锁操作示例
Sep 06 Python
Python如何获得百度统计API的数据并发送邮件示例代码
Jan 27 Python
Python socket实现的文件下载器功能示例
Nov 15 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
Jan 18 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获取文件夹内文件数的方法
2015/03/12 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
flash 得到自身url参数的代码
2009/11/15 Javascript
基于jquery的表头固定的若干方法
2011/01/27 Javascript
解析jquery中的ajax缓存问题
2013/12/19 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
AngularJS压缩JS技巧分析
2016/11/08 Javascript
bootstrap警告框使用方法解析
2017/01/13 Javascript
javascript深拷贝和浅拷贝详解
2017/02/14 Javascript
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
跟老齐学Python之集合的关系
2014/09/24 Python
Python随机数random模块使用指南
2016/09/09 Python
Python实现简单的多任务mysql转xml的方法
2017/02/08 Python
Python 中的range(),以及列表切片方法
2018/07/02 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
处理python中多线程与多进程中的数据共享问题
2019/07/28 Python
Python 解析pymysql模块操作数据库的方法
2020/02/18 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
pip install命令安装扩展库整理
2021/03/02 Python
经典导游欢迎词大全
2014/01/16 职场文书
商务日语专业自荐信
2014/04/17 职场文书
捐助贫困学生倡议书
2014/05/16 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
小学教师求职信范文
2015/03/20 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
环保守法证明
2015/06/24 职场文书
诚信教育主题班会
2015/08/13 职场文书
python基础之类属性和实例属性
2021/10/24 Python
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle