python从入门到精通(DAY 3)

本文是python从入门到精通系列文章的第三篇,主要是给大家讲诉做的一个编写登陆接口练习程序的全过程,非常的细致,有需要的小伙伴可以参考下。

要求:编写登陆接口

输入用户名密码
认证成功后显示欢迎信息
输错三次后锁定

针对此实例写了有二种类型的脚本,略有不同,具体如下:

帐号文件account.txt内容如下:

sam 123

david 12
kevin 123
lin 12
tailen 123
jack 12

锁文件account_lock.txt默认为空

一、只针对帐号文件里的用户进行判断并锁定,针对用户和密码各有三次错误重试机会。

1、流程图如下:

代码如下:

 #!/usr/bin/python27 #_*_ coding:utf-8 _*_ import sys,os,getpass os.system('clear') i = 0 while i <3: #只要用户登录异常不超过3次就不断循环 name=raw_input("请输入用户名:") lock_file=open('account_lock.txt','r+') #当用户输入用户名后,打开lock 文件 以检查是否此用户已经lock了 lock_list=lock_file.readlines() for lock_line in lock_list: #循环lock文件 lock_line.strip('\n') #去掉换行符 if lock_line: #如果lock了就直接退出 sys.exit('用户 %s 已经被锁定,退出' % name) user_file=open('account.txt','r') #打开帐号文件 user_list=user_file.readlines() user_line user_list: #对帐号文件进行遍历 (user,password)=user_line.strip('\n').split() #分别获取帐号和密码信息 user: #如用户名正常匹配 j while < 3: #只要用户密码异常不超过3次就不断循环 passwd=getpass.getpass('请输入密码:') #输入隐藏密码 password: #密码正确,提示欢迎登录 print('欢迎登录管理平台,用户%s' sys.exit(0) #正常退出 else: print('用户 密码错误,请重新输入,还有 %d 次机会' (name,2 - j)) + #密码输入错误后,循环值增加1 lock_file.write(name '\n') #密码输入三次错误后,将该用户追加到lock文件 达到最大登录次数,将被锁定并退出' pass #当用户没匹配时,跳过并继续循环 不存在,请重新输入,还有 i)) i 1 #当用户输入错误时,循环值增加1 不存在,退出' #用户输入三次错误后,异常退出 lock_file.close() #关闭lock文件 user_file.close() #关闭帐号文件 pre>

二、针对帐号文件里的不存在的用户也可以进行判断并锁定,针对用户和密码共有三次错误重试机会

代码如下:

 #_*_ coding:utf-8 _*_ import sys,os,getpass os.system('clear') retry_limit = 3 retry_count = 0 account_file = 'account.txt' lock_file = 'account_lock.txt' while retry_count 

以上就是python从入门到精通(DAY 3)的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » python