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里协程使用同步锁Lock的实例

尽管asyncio库是使用单线程来实现协程的,但是它还是并发的,乱序执行的。可以说是单线程的调度系统,并且由于执行时有延时或者I/O中断等因素,每个协程如果同步时,还是得使用一些同步对象...

python将ansible配置转为json格式实例代码

python将ansible配置转为json格式实例代码

python将ansible配置转为json格式实例代码 ansible的配置文件举例如下,这种配置文件不利于在前端的展现,因此,我们用一段简单的代码将ansible的配置文件转为jso...

详解Python中的format格式化函数的使用方法

详解Python中的format格式化函数的使用方法

format函数实现字符串格式化的功能 基本语法为: 通过 : 和 {} 来控制字符串的操作 一、对字符串进行操作 1. 不设置指定位置,按默认顺序插入 ①当参数个数等于{}个数的时候...

python按行读取文件并找出其中指定字符串

python按行读取文件并找出其中指定字符串 #coding=utf-8 import os, time, sys, re #reload(sys) #sys.setdefaul...

python语音识别实践之百度语音API

百度语音对上传的语音要求目前必须是单声道,16K采样率,采样深度可以是16位或者8位的PCM编码。其他编码输出的语音识别不出来。 语音的处理技巧: 录制为MP3的语音(通常采样率为441...