python之编写登陆接口(第一天)

Posted yandongdong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之编写登陆接口(第一天)相关的知识,希望对你有一定的参考价值。

作业:编写登陆接口

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

 

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


sam 123 

david 12 
kevin 123
lin 12 
tailen 123 
jack 12


 

锁文件account_lock.txt默认为空

1、流程图如下:

技术分享图片

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

 

技术分享图片
 1 #_*_ coding:utf-8 _*_
 2 
 3 import sys,os,getpass
 4 
 5 os.system(clear)
 6 
 7 retry_limit = 3
 8 retry_count = 0
 9 
10 account_file = account.txt
11 lock_file = account_lock.txt
12 
13 while retry_count < retry_limit:                                         #只要重试不超过3次就不断循环
14     username = raw_input(\\033[31;43mUsername:\\033[0m)
15     username = username.strip()
16     lock_check = open(lock_file)                                         #当用户输入用户名后,打开LOCK 文件 以检查是否此用户已经LOCK了
17 
18     for line in lock_check.readlines():                                  #循环LOCK文件 
19         if username == line.strip(\\n):                                  #去掉换行符
20             sys.exit(\\033[35mUser %s is locked!!!\\033[0m % username)   #如果LOCK了就直接退出
21     password = raw_input(\\033[32;41mPassword:\\033[0m)                  #输入密码
22 
23     f = open(account_file,r)                                           #打开帐号文件 
24     match_flag = False                                                   # 默认为Flase,如果用户match 上了,就设置为 True 
25 
26     for line in f.readlines():                                           
27         user,passwd = line.strip(\\n).split()                           #去掉每行多余的\\n并把这一行按空格分成两列,分别赋值为user,passwd两个变量
28         if username == user and password == passwd:                      #判断用户名和密码是否都相等
29            print(hello, %s !! % username)
30            match_flag = True                                             #相等就把循环外的match_flag变量改为了True
31            break                                                         #然后就不用继续循环了,直接 跳出,因为已经match上了
32     f.close()
33 
34     if match_flag == False:                                              #如果match_flag还为False,代表上面的循环中跟本就没有match上用户名和密码,所以需要继续循环
35         print(sorry,%s is unmatched % username)
36         retry_count += 1                                                 #计数器加1
37     else:
38         print(wlecome login my learning system!)
39         break                                                            #用户成功登录,退出脚本
40 
41 else:
42     print("you account %s is locked!!!" % username)
43     g = open(lock_file,a)
44     g.write(username)                                                    #被锁用户追加到用户锁文件
45     g.write(\\n)   
46     g.close()
View Code

 

 





以上是关于python之编写登陆接口(第一天)的主要内容,如果未能解决你的问题,请参考以下文章

5python第一天作业

学习python第一次应用---编写登录接口(关于whileiffor语句,dict以及文件的读写)

python之编写登陆接口

python编写登录接口(第一天)

python之编写登陆接口(测试中...)

Python之编写登录接口