Python编写登陆接口的方法

发布时间 - 2026-01-11 02:15:54    点击率:

本文实例为大家分享了Python编写登陆接口的具体代码,供大家参考,具体内容如下

1.输入用户名密码;

2.认证成功后显示欢迎信息;

3.错误三次后,账号被锁定。 

账号文件: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+flask编写接口实例详解  # 如何在Python中编写接口和请求外部接口  # 您的  # 请输入  # 重新输入  # 输入用户名  # 为空  # 最多  # 已被  # 遍历  # 中去  # 大家分享  # 用户登录  # 用户登陆  # 具体内容  # 大家多多  # 将用  # 输入密码  # 是为了  # 文档  # 换行符  # pre 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  JavaScript如何实现继承_有哪些常用方法  iOS验证手机号的正则表达式  原生JS实现图片轮播切换效果  长沙企业网站制作哪家好,长沙水业集团官方网站?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  敲碗10年!Mac系列传将迎来「触控与联网」双革新  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  Laravel如何使用Eloquent进行子查询  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  如何在阿里云虚拟服务器快速搭建网站?  简历没回改:利用AI润色让你的文字更专业  Android使用GridView实现日历的简单功能  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  网站建设整体流程解析,建站其实很容易!  如何彻底卸载建站之星软件?  魔方云NAT建站如何实现端口转发?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  如何快速辨别茅台真假?关键步骤解析  Python图片处理进阶教程_Pillow滤镜与图像增强  Bootstrap CSS布局之列表  Laravel如何实现多对多模型关联?(Eloquent教程)  linux top下的 minerd 木马清除方法  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  如何用腾讯建站主机快速创建免费网站?  使用Dockerfile构建java web环境  网站制作软件有哪些,制图软件有哪些?  Laravel安装步骤详细教程_Laravel环境搭建指南  网站制作企业,网站的banner和导航栏是指什么?  Laravel怎么在Controller之外的地方验证数据  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Android实现代码画虚线边框背景效果  laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  EditPlus 正则表达式 实战(3)  EditPlus中的正则表达式 实战(4)  C++用Dijkstra(迪杰斯特拉)算法求最短路径  实例解析Array和String方法  如何在IIS服务器上快速部署高效网站?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  Python并发异常传播_错误处理解析【教程】  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析