本文实例为大家分享了Python编写登陆接口的具体代码,供大家参考,具体内容如下
1.输入用户名密码;
2.认证成功后显示欢迎信息;
3.错误三次后,账号被锁定。
账号文件:user.txt
锁定文件:locked.txt
流程图如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# -*- coding:utf-8 -*- # Author Caoxl import sys account_file = 'E:\user.txt' locked_file = 'E:\locked.txt' def deny_account(username): print ( '您的用户已被锁定' ) with file (locked_file, 'a' ) as deny_f: deny_f.write( '\n' + username) def main(): retry_count = 0 retry_limit = 3 #循环次数 while retry_count<retry_limit: #用户最多重复登陆3次 username = raw_input ( '请输入您的用户名:' ) #引导用户输入用户名 with file (locked_file, 'r' ) as lock_f: #采用with打开方式,将locked_file赋值lock_f,防止忘记f.close()关闭文件 for line in lock_f.readlines(): #循环遍历每一行的内容 if len (line) = = 0 : #对每一行内容进行处理 continue if username = = line.strip(): #利用.strip这个函数去掉换行符,来对username进行匹配。 sys.exit( '用户已经被锁定!' ) if len (username) = = 0 : #提示用户登录时,用户名不能为空! print ( '用户名不能为空,请重新输入' ) continue password = raw_input ( '请输入您的密码:' ) #引导用户输入密码 with file (account_file, 'r' ) as account_f: flag = False for line in account_f.readlines(): user,pawd = line.strip().split() #将用户名和对应密码进行处理 if username = = user and password = = pawd: #判断用户名和密码 print ( 'success!' ) flag = True break #退出for循环 if flag = = False : #避免用户在三次输入后,依然提示重新输入。 if retry_count< 2 : print ( '您输入的用户名或密码有误,请重新输入!' ) retry_count + = 1 else : print ( '欢迎用户登陆成功!!' ) break # 加标志位是为了用户能够成功推出整个循环! deny_account(username) #对应上面的def函数把锁定账号加入文档中去 if __name__ = = '__main__' : main() |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。