python密码错误三次锁定(实例讲解)

yipeiwu_com6年前Python基础

程序需求:

输入用户名,密码

认证成功显示欢迎信息

输入错误三次后锁定用户

流程图:

好像画的不咋地

查看代码:

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# File_type:一个登录接口
# Author:smelond
import os

username = "smelond"#用户名
password = "qweqwe"#密码
counter = 0#计数器

#读取黑名单
file = os.path.exists("./user.txt")#检查当前目录是否有user.txt这个文件,如果有者输出True赋给file
if file == True:#判断是否有user.txt这个文件
 blacklist_file = open("user.txt", "r").read()#open()打开文件,并且用read()读取文件,然后赋给blacklist_file
 if blacklist_file == username:#检查文件里面的内容是否和我们的用户名相等
  print("Username lock. Please contact the administrator to remove the restrictions!!!")#输出错误提示
  exit()#退出程序

#登录接口
for i in range(3):
 counter += 1#对每次登录进行计数
 input_user = input("Please input username: ")
 input_pass = input("Please input password: ")
 if input_user == username and input_pass == password:
  print("Welcome login...")
  break
 else:
  print("ERROR Incorrect username or password!!!")
  continue

#写入黑名单
if counter == 3:#判断我是否输入错误三次
 print("The user name has been disabled")#提示信息
 blacklist_user = open("user.txt", "a")#以追加模式打开 (从 EOF 开始, 必要时创建新文件)
 blacklist_user.write("%s" % username)#将用户名写入黑名单
 blacklist_user.close()#使用open后一定要记得调用文件对象的close()方法

以上这篇python密码错误三次锁定(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

大家都说好用的Python命令行库click的使用

一、前言 在本系列前面几篇文章中,我们分别介绍了 argparse 和 docopt 的主要功能和用法。它们各具特色,都能出色地完成命令行任务。argparse 是面向过程的,需要先设...

Python使用Shelve保存对象方法总结

Shelve是一个功能强大的Python模块,用于对象持久性。搁置对象时,必须指定一个用于识别对象值的键。通过这种方式,搁置文件成为存储值的数据库,其中任何一个都可以随时访问。 Pyth...

对pandas中Series的map函数详解

Series的map方法可以接受一个函数或含有映射关系的字典型对象。 使用map是一种实现元素级转换以及其他数据清理工作的便捷方式。 (DataFrame中对应的是applymap()函...

python递归函数绘制分形树的方法

python递归函数绘制分形树的方法

分形几何学的基本思想:客观事物具有自相似性的层次结构,局部和整体在形态,功能,信息,时间,空间等方面具有统计意义上的相似性,称为自相似性,自相似性是指局部是整体成比例缩小的性质。 我们先...

python super的使用方法及实例详解

功能 super功能:super函数是子类用于调用父类(超类)的一个方法。 用法 1.在子类 __init__() 方法中正确的初始化父类,保证相同的基类只初始化一次。 2.覆盖特...