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

yipeiwu_com5年前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设计】。

相关文章

如何用itertools解决无序排列组合的问题

最近我作为Python菜鸟一枚开始征战Codewars,所以打算在这里记下遇到的有意思的题目。今天这第一题叫做“Best Travel”: John和Mary计划去一些小镇旅行。Mary...

python sqlite的Row对象操作示例

本文实例讲述了python sqlite的Row对象操作。分享给大家供大家参考,具体如下: 一 代码 import sqlite3 conn=sqlite3.connect("tes...

对python实现模板生成脚本的方法详解

最近项目需要,针对主项目提取一个小的基础版本,供于在新建项目时使用,所以就有这个python模板生成脚本,其作用如下: 1、通过配置文件来控制模板中的数据、格式化的过滤条件 2、执行后会...

python类参数self使用示例

复制代码 代码如下:#coding:utf-8"""__new__和__init__到底是怎么一回事,看下面的代码如果类没有定义__new__方法,就从父类继承这个__new__方法。_...

Python中使用语句导入模块或包的机制研究

这篇文章讨论了Python的from <module> import *和from <package> import *,它们怎么执行以及为什么使用这种语法(也许...