本文实例为大家分享了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()
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。