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使用win32com在百度空间插入html元素示例
Feb 20 Python
Python根据区号生成手机号码的方法
Jul 08 Python
Python pass详细介绍及实例代码
Nov 24 Python
Python读取txt内容写入xls格式excel中的方法
Oct 11 Python
Python判断一个三位数是否为水仙花数的示例
Nov 13 Python
Python 项目转化为so文件实例
Dec 23 Python
pytorch的梯度计算以及backward方法详解
Jan 10 Python
基于Python数据结构之递归与回溯搜索
Feb 26 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
Mar 20 Python
Python基于paramunittest模块实现excl参数化
Apr 26 Python
python 实现倒计时功能(gui界面)
Nov 11 Python
Python 多进程、多线程效率对比
Nov 19 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实现网上点歌(二)
2006/10/09 PHP
php不使用插件导出excel的简单方法
2014/03/04 PHP
php序列化函数serialize() 和 unserialize() 与原生函数对比
2015/05/08 PHP
Yii实现的多级联动下拉菜单
2016/07/13 PHP
探究Laravel使用env函数读取环境变量为null的问题
2016/12/06 PHP
PHP中TP5 上传文件的实例详解
2017/07/31 PHP
Extjs在exlipse中设置自动提示的方法
2010/04/07 Javascript
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
2013/07/07 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
javascript实现验证IP地址等相关信息代码
2015/05/10 Javascript
分享我的jquery实现下拉菜单心的
2015/11/29 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
2017/02/22 Javascript
使用gulp构建前端自动化的方法示例
2018/12/25 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
python的几种开发工具介绍
2007/03/07 Python
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
python 批量修改/替换数据的实例
2018/07/25 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
武汉英思工程科技有限公司&ndash;ORACLE面试测试题目
2012/04/30 面试题
经典的班主任推荐信
2013/10/28 职场文书
手机促销活动方案
2014/02/05 职场文书
党支部换届选举方案
2014/05/08 职场文书
大学生个人求职信
2014/06/02 职场文书
企业整改报告范文
2014/11/08 职场文书
升学宴学生答谢词
2015/01/05 职场文书
2015年体育教学工作总结
2015/05/20 职场文书
2015年幼儿园德育工作总结
2015/05/25 职场文书
2016年优秀共青团员事迹材料
2016/02/25 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书