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判断端口是否打开的实现代码
Feb 10 Python
Python实现发送email的几种常用方法
Aug 18 Python
centos 下面安装python2.7 +pip +mysqld
Nov 18 Python
在服务器端实现无间断部署Python应用的教程
Apr 16 Python
详解Python中break语句的用法
May 14 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
Jan 20 Python
Python连接数据库学习之DB-API详解
Feb 07 Python
python实现堆和索引堆的代码示例
Mar 19 Python
Python后台开发Django的教程详解(启动)
Apr 08 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
Aug 24 Python
Python基于tkinter canvas实现图片裁剪功能
Nov 05 Python
Ubuntu权限不足无法创建文件夹解决方案
Nov 14 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
PHP的面向对象编程
2006/10/09 PHP
php 使用file_get_contents读取大文件的方法
2014/11/13 PHP
php强制更新图片缓存的方法
2015/02/11 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
php分页查询mysql结果的base64处理方法示例
2017/05/18 PHP
Iframe thickbox2.0使用的方法
2009/03/05 Javascript
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
node.js学习总结之调式代码的方法
2014/06/25 Javascript
jquery结合CSS使用validate实现漂亮的验证
2015/01/29 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
JavaScript保存并运算页面中数字类型变量的写法
2015/07/06 Javascript
js纯数字逐一停止显示效果的实现代码
2016/03/16 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
使用JavaScript实现链表的数据结构的代码
2017/08/02 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
使用js在layui中实现上传图片压缩
2019/06/18 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
JavaScript实现留言板案例
2020/03/17 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
Python导入oracle数据的方法
2015/07/10 Python
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
Python反射和内置方法重写操作详解
2018/08/27 Python
opencv python统计及绘制直方图的方法
2019/01/21 Python
Python 实现数据结构中的的栈队列
2019/05/16 Python
Python面向对象封装操作案例详解
2019/12/31 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
加拿大领先的优质厨具产品在线购物网站:Golda’s Kitchen
2017/11/17 全球购物
英国天然宝石首饰购买网站:Gemondo Jewellery
2018/10/23 全球购物
VLAN和VPN有什么区别?分别实现在OSI的第几层?
2014/12/23 面试题
优秀体育委员自荐书
2014/01/31 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
假期安全教育广播稿
2014/10/04 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
Python可视化神器pyecharts之绘制地理图表练习
2022/07/07 Python