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栈类实例分析
Jun 15 Python
Python中Django 后台自定义表单控件
Mar 28 Python
详解Python之数据序列化(json、pickle、shelve)
Mar 30 Python
python中os和sys模块的区别与常用方法总结
Nov 14 Python
Python迭代器与生成器用法实例分析
Jul 09 Python
Python 正则表达式匹配字符串中的http链接方法
Dec 25 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
Dec 26 Python
python利用ffmpeg进行录制屏幕的方法
Jan 10 Python
基于python检查SSL证书到期情况代码实例
Apr 04 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
Jul 02 Python
PyCharm Community安装与配置的详细教程
Nov 24 Python
Jupyter Notebook添加代码自动补全功能的实现
Jan 07 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的一个登录的类 [推荐]
2007/03/16 PHP
PHP批量上传图片的具体实现方法介绍.
2014/02/26 PHP
浅析php原型模式
2014/11/25 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
PHP基于递归实现的约瑟夫环算法示例
2017/08/27 PHP
Laravel框架用户登陆身份验证实现方法详解
2017/09/14 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
Jquery获取和修改img的src值的方法
2014/02/17 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
2015/01/13 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
EasyUI加载完Html内容样式渲染完成后显示
2016/07/25 Javascript
BootStrap中的表单大全
2016/09/07 Javascript
基于jQuery实现中英文切换导航条效果
2016/09/18 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
2017/01/18 Javascript
Node.js使用Express创建Web项目详细教程
2017/03/31 Javascript
js+css实现打字效果
2020/06/24 Javascript
JS中数据结构之栈
2019/01/01 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
python 队列详解及实例代码
2016/10/18 Python
Python 列表(List) 的三种遍历方法实例 详解
2017/04/15 Python
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
2019/08/30 Python
Django values()和value_list()的使用
2020/03/31 Python
HTTP状态码详解
2021/03/18 杂记
Html5 语法与规则简要概述
2014/07/29 HTML / CSS
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
2017/10/16 HTML / CSS
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
销售辞职报告范文
2014/01/12 职场文书
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
市场营销战略计划书
2014/05/06 职场文书
软弱涣散基层党组织整改方案
2014/10/25 职场文书
民事答辩状格式范文
2015/05/21 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
HTML常用标签超详细整理
2022/03/19 HTML / CSS