Python编写登陆接口的方法

yipeiwu_com6年前Python基础

本文实例为大家分享了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 k-近邻算法实例分享

简单说明 这个算法主要工作是测量不同特征值之间的距离,有个这个距离,就可以进行分类了。 简称kNN。 已知:训练集,以及每个训练集的标签。 接下来:和训练集中的数据对比,计算最相似的k个...

Django后台admin的使用详解

Django后台admin的使用详解

简述: Django的admin可以提供一个强大的后台管理功能,可以在web界面对数据库进行操作,我们需要修改admin.py将要操作的数据表注册到后台管理中 创建数据表: 为了便于演示...

python绘制已知点的坐标的直线实例

如下所示: import matplotlib.pyplot as plt import numpy as np x = [11422,11360,11312,112...

Python面向对象之继承代码详解

本文研究的主要是Python面向对象之继承的相关内容,具体如下。 Python 继承 即一个派生类(derived class)继承基类(bass class)字段和方法。继承也允许把一...

Python进阶篇之字典操作总结

一、与字典值有关的计算 问题 想对字典的值进行相关计算,例如找出字典里对应值最大(最小)的项。 解决方案一: 假设要从字典 {'a':3, 'b':2, 'c':6} 中找出值最小...