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中使用M2Crypto模块实现AES加密的教程
Apr 08 Python
python 调用win32pai 操作cmd的方法
May 28 Python
Python利用公共键如何对字典列表进行排序详解
May 19 Python
详解Python:面向对象编程
Apr 10 Python
python django下载大的csv文件实现方法分析
Jul 19 Python
Python实现捕获异常发生的文件和具体行数
Apr 25 Python
python 解决selenium 中的 .clear()方法失效问题
Sep 01 Python
Python中读取文件名中的数字的实例详解
Dec 25 Python
如何使用Python提取Chrome浏览器保存的密码
Jun 09 Python
pycharm代码删除恢复的方法
Jun 26 Python
python开发飞机大战游戏
Jul 15 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
Apr 12 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
Terran兵种介绍
2020/03/14 星际争霸
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
PHP后台微信支付和支付宝支付开发
2017/04/28 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
PHP面向对象多态性实现方法简单示例
2017/09/27 PHP
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
2006/11/30 Javascript
JavaScript中令你抓狂的魔术变量
2006/11/30 Javascript
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
JS生成随机字符串的多种方法
2014/06/10 Javascript
Html中 IFrame的用法及注意点
2016/12/22 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
JavaScript选择排序算法原理与实现方法示例
2018/08/06 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
原生js实现分页效果
2020/09/23 Javascript
django使用图片延时加载引起后台404错误
2017/04/18 Python
Python 多核并行计算的示例代码
2017/11/07 Python
Python3多进程 multiprocessing 模块实例详解
2018/06/11 Python
python异步实现定时任务和周期任务的方法
2019/06/29 Python
python搜索包的路径的实现方法
2019/07/19 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
python集合的新增元素方法整理
2020/12/07 Python
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
简约控的天堂:The Undone
2016/12/21 全球购物
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
工业自动化专业自荐信范文
2014/04/10 职场文书
竞选大队委员演讲稿
2014/04/28 职场文书
教师节活动总结
2014/08/29 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
努力工作保证书
2015/02/28 职场文书
实习护士自荐信
2015/03/25 职场文书
2020年元旦祝福语录,总有适合你的
2019/12/31 职场文书