python运维平台开发第一步:登录接口程序V2.0
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python运维平台开发第一步:登录接口程序V2.0相关的知识,希望对你有一定的参考价值。
一、功能要求 登录接口小程序(需实现的功能如下) 1、输入用户名和密码 2、认证成功后显示欢迎信息 3、输错三次后锁定 二、逻辑思路分析: 定义一个文件用于存储用户名和密码:passwd.db 定义一个文件用于记录输入3次错误后的用户名,以判断文件里的用户名来决定用户是否为锁定状态 lock_user.db 定一个变量为3,用于输错密码最多次数 count = 3 定一个变量为0,用于输错一次自动增加1 inter=0 定义一个变量login_status作为标志位,默认值为login_status=False,为false的目地也就是说登录失败。如果用户登录成功后那么就赋值为True。 1、输入用户名和密码 2、输入用户名之后,检测账户是否是锁定,那么需打开lockfile文件,循环读取每一行的用户名,判断是否此用户已经存在lock文件里,如果用户存在,则提示用户已被锁定,且退出程序,如果账户名不存在lockfile文件里,则继续往下执行 3、打开userdbfile,循环读取每一行,且分割用户名和密码,分别存储在userdb、passwddb变量里。接着将输入的用户名和密码分别与这两个变量进行匹配,如果相等,则提示验证通过,且将标志位match_flag赋值为True,且终止循环。如果输入的密码是不正确的,那么标志位不变,也就还是为False。 4、接着判断标志位,如果为false,则说明没有匹配上,提示重试登录,且同时将count增1,如果不为false,也就是为true。则提示登录系统完成
三、代码
#!/usr/bin/env python #_*_ coding:utf-8 _*_ #注册用户名和密码,数据写入在文件里 #输入用户和密码 #认证成功后显示欢迎信息 #输错三次后锁定 #!/usr/bin/env python import shelve #账户添加(可单独调用该函数执行即可) def adduser(name,passwd): files = shelve.open("passwd.db") files[name] = passwd files.close() def check(name,passwd): db = dict(shelve.open("passwd.db")) lock = dict(shelve.open("lock_user.db")) if lock.get(name,None) != None: print ‘账户处于锁定状态,请与管理员联系‘ return False if db.get(name,None) == None: print ‘用户名不存在‘ return False if passwd != db.get(name): print ‘密码错误‘ return False else: return True if __name__ == ‘__main__‘: inter = 0 count = 3 login_status = False while inter < count: name = raw_input(‘账号:‘) passwd = raw_input(‘口令:‘) if check(name,passwd) == True: login_status = True print ‘认证通过‘ break else: inter += 1 print ‘还可尝试%s次登录‘ % (3 - inter) continue if login_status == False: files = shelve.open("lock_user.db") files[name] = name files.close() print ‘账户被锁定‘
源代码文件:https://github.com/tantianran/project01/blob/master/lab01/
本文出自 “FA&IT运维-Q群:223843163” 博客,请务必保留此出处http://freshair.blog.51cto.com/8272891/1869246
以上是关于python运维平台开发第一步:登录接口程序V2.0的主要内容,如果未能解决你的问题,请参考以下文章
uniapp,实现微信小程序登录,python登录接口的实现