Python编写登陆接口的方法


Posted in Python onJuly 10, 2017

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

1.输入用户名密码;

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

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

账号文件:user.txt

锁定文件:locked.txt

流程图如下:

Python编写登陆接口的方法

# -*- 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 条件判断的缩写方法
Sep 06 Python
linux下安装easy_install的方法
Feb 10 Python
python实现在每个独立进程中运行一个函数的方法
Apr 23 Python
Python读取Json字典写入Excel表格的方法
Jan 03 Python
Python中常用的8种字符串操作方法
May 06 Python
解决Python数据可视化中文部分显示方块问题
May 16 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
Jun 08 Python
python编写softmax函数、交叉熵函数实例
Jun 11 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
Aug 28 Python
python给list排序的简单方法
Dec 10 Python
Python 数据分析之逐块读取文本的实现
Dec 14 Python
教你怎么用Python处理excel实现自动化办公
Apr 30 Python
CentOS中升级Python版本的方法详解
Jul 10 #Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
Jul 10 #Python
Python 实现数据库更新脚本的生成方法
Jul 09 #Python
Python 实现数据库(SQL)更新脚本的生成方法
Jul 09 #Python
解决python文件字符串转列表时遇到空行的问题
Jul 09 #Python
python3 shelve模块的详解
Jul 08 #Python
Python基于scapy实现修改IP发送请求的方法示例
Jul 08 #Python
You might like
ftp类(example.php)
2006/10/09 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
2010/05/15 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
可以显示单图片,多图片ajax请求的ThickBox3.1类下载
2007/12/23 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
DOM 事件的深入浅出(二)
2016/12/05 Javascript
JS数组排序方法实例分析
2016/12/16 Javascript
如何提高数据访问速度
2016/12/26 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
2019/09/03 jQuery
关于ES6尾调用优化的使用
2020/09/11 Javascript
一个基于flask的web应用诞生 记录用户账户登录状态(6)
2017/04/11 Python
go和python变量赋值遇到的一个问题
2017/08/31 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
python正则表达式及使用正则表达式的例子
2018/01/22 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
在Python 中同一个类两个函数间变量的调用方法
2019/01/31 Python
解决Pandas的DataFrame输出截断和省略的问题
2019/02/08 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
2019/10/30 Python
python内置模块collections知识点总结
2019/12/19 Python
Pytoch之torchvision.transforms图像变换实例
2019/12/30 Python
Python3爬虫中Selenium的用法详解
2020/07/10 Python
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
会计师职业生涯规划范文
2014/02/18 职场文书
代理协议书范本
2014/04/22 职场文书
赵乐秦在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
手术室护士个人总结
2015/02/13 职场文书
教师工作表现自我评价
2015/03/05 职场文书
2019辞职报告范本3篇!
2019/07/23 职场文书
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python