Python随笔1《实现简单的登录接口》

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python随笔1《实现简单的登录接口》相关的知识,希望对你有一定的参考价值。

使用Python的基础知识实现一个登陆接口是非常容易的

一、分析如何实现

程序实现的步骤:

step1:提示用户输入账户密码

step2:判断账户是否在黑名单,0转step3;1转提示账户锁定,结束程序

step3:初始化输入次数

step4:如果输入次数不超过3次,循环

step5:如果账户密码匹配正确,提示成功,结束程序;否则提示错误,剩余输入次数

step6:输入次数大于三次,锁定用户,结束程序

二、程序清单

import sys                                           #载入sys模块是用于结束程序
account_file="admin.txt" #存用户密码在硬盘中
locked_file="blacklist.txt" #存黑名单
def deny_account(name): #定义函数用于打印
print("您的用户被锁定!")
with open(locked_file,"a") as deny_f:
deny_f.write("\n"+name)
def main(): #定义主函数
retry_count = 0 #初始化计数
retry_limit = 3 #次数限制变量
while retry_count< retry_limit:
name = input("请输入用户名:")
if len(name) == 0:
print("清重新输入,用户名不能为空") #输入为空的处理
continue
with open(locked_file) as lock_f: #检测是否在黑名单
for line in lock_f.readlines():
if len(line)==0:
continue
if name == line.strip():
sys.exit("用户%s已经被锁定!" %name)

password = input("请输入密码:")
with open(account_file,"r") as account_f: #检测是否匹配
Flag = False
for line in account_f.readlines():
user,pw = line.strip().split()
if name == user and password == pw:
print("登陆成功")
Flag = True
break
if Flag ==False: #设置Flag变量的意义是方便计数
if retry_count < 3:
print("您输入的用户或者密码有错误,您还有%d次机会" %(3-retry_count))
retry_count +=1 #此句放在if里面和外面会导致计数偏差
else:
break
else:
deny_account(name)
if __name__=="__main__": #当文件自己执行的时候调用主函数
main()

 









































以上是关于Python随笔1《实现简单的登录接口》的主要内容,如果未能解决你的问题,请参考以下文章

Flask 编写http接口api及接口自动化测试

python接口自动化(三十五)-封装与调用--流程类接口关联(详解)

Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段

[小菜随笔]python tkinter实现简单的ping命令

Python随笔

python小随笔进程池 multiprocessing.Pool的简单实现与踩过的坑