Python实现用户登录接口:含三次锁定机制

方予
方予
发布时间:2026-10-12 | 2人浏览过
原创

本文介绍使用Python编写用户登录接口的完整实现方案。核心功能包括接收用户名与密码输入、验证身份并显示欢迎信息,以及当错误尝试达到三次后自动锁定账户。代码详细演示了如何读取账号文件user.txt和锁定文件locked.txt,通过循环控制重试次数,并在验证失败时调用函数将用户写入锁定列表,确保系统安全性。

本文分享了一个使用Python实现用户登录接口的具体代码示例,供读者参考学习。

第一步,系统接收用户输入的用户名和密码。

第二步,若身份验证通过,系统显示欢迎信息。

第三步,若用户连续三次输入错误,账户将被自动锁定。

存储正常账号信息的文件命名为user.txt。

存储被锁定账号的文件命名为locked.txt。

整体处理逻辑的流程图如下所示:

# -*- 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()

以上内容即为Python登录接口的完整实现,希望能为读者的编程学习提供有益帮助,同时也欢迎持续关注本站以获取更多技术资源。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表