Python实现简单登录验证


Posted in Python onApril 13, 2016

本文实例为大家分享了简单的Python登录验证,供大家参考,具体内容如下

编写登录接口

要求:1、输入用户名密码

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

 3、输错三次后锁定

#coding=utf-8
__author__ = 'wangwc'

import sys,os
count = 0
locked = 0
mark_user = 0
mark_passwd = 0
#获取路径
def cur_file_dir():
  path = sys.path[0]
  if os.path.isdir(path):
    return path
  elif os.path.isfile(path):
    return os.path.dirname(path)
#print (cur_file_dir())
path = cur_file_dir()
#print(path)
path1 = path.replace("\\",'/') + '/'
#print (path1)
#path2 = path1 + '/'

#循环输入
while count < 3:
  name = input("Username:").strip()
  if len(name) == 0:
    print ("Username can not be empty....")
    continue
  key = input("Password:").strip()
  if len(key) == 0:
    print("The password can not be empty!Try again...")
    continue
  f = open(path1 + "username.txt","r")
  userlist = f.readlines()
  for user in userlist:
    if user.strip() == name:
      mark_user = 1
  f.close()

  if mark_user == 1:
    f = open(path1 + "%s_lock.txt" %(name),"r")
    locked = int(f.readline().strip())
    f.close()
  else:
    print ("Username or Passsord wrong....")
    break
  if locked == 1:
    print("Sorry, the username had been locked!!!Please call the system administrator...")
  else:
    f = open (path1 + "%s_passwd.txt" %(name),"r")
    passwd = (f.readline().strip())
    if passwd.strip() == key:
      mark_passwd = 1
    if mark_user == 1 and mark_passwd == 1:
      f = open("%s_count.txt" %(name),"w")
      f.write("0")
      f.close()
      print("%s,welcome BABY!" %(name) )
      #input('Press Enter to exit')
    else:
      f = open("%s_count.txt" %(name),"r")
      count = int((f.read().strip()))
      f.close()
      count +=1
      f = open("%s_count.txt" %(name),"w")
      f.write(str(count))
      f.close()
      print ("Username or password wrong!And the username '%s' has %d more chances to retry!" %(name,3 - count))
      if(count == 3):
        print ("'%s' has been locked!!!" %(name))
        if os.path.exists(path1 + "%s_lock.txt" %(name)):
          fobj = open(path1 + "%s_lock.txt" %(name),"w")
          fobj.writelines("1\n")
        else:
          print ("Username or password wrong!")
      continue

以上就是本文的全部内容,希望对大家的学习有所帮助。

Python 相关文章推荐
python实现猜数字游戏(无重复数字)示例分享
Mar 29 Python
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
Apr 24 Python
深入浅析ImageMagick命令执行漏洞
Oct 11 Python
详解Python中的type和object
Aug 15 Python
Django Rest framework之权限的实现示例
Dec 17 Python
Python多项式回归的实现方法
Mar 11 Python
Python实现Selenium自动化Page模式
Jul 14 Python
使用 Django Highcharts 实现数据可视化过程解析
Jul 31 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
Aug 09 Python
Python语法垃圾回收机制原理解析
Mar 25 Python
Python基于httpx模块实现发送请求
Jul 07 Python
Python源码解析之List
May 21 Python
Python数组定义方法
Apr 13 #Python
Python基于select实现的socket服务器
Apr 13 #Python
Python简单实现子网掩码转换的方法
Apr 13 #Python
Python多进程分块读取超大文件的方法
Apr 13 #Python
Python字符串拼接、截取及替换方法总结分析
Apr 13 #Python
Python字符串格式化输出方法分析
Apr 13 #Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
Apr 13 #Python
You might like
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
香妃
2021/03/03 冲泡冲煮
php中通过虚代理实现延迟加载的实现代码
2011/06/10 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
Javascript中Eval函数的使用
2010/03/23 Javascript
jquery eval解析JSON中的注意点介绍
2013/08/23 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
Actionscript与javascript交互实例程序(修改)
2016/09/22 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
2016/10/18 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
JavaScript、C# URL编码、解码总结
2017/01/21 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
vue多种弹框的弹出形式的示例代码
2017/09/18 Javascript
layui框架table 数据表格的方法级渲染详解
2018/08/19 Javascript
Vue封装的组件全局注册并引用
2019/07/24 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
python实现通过shelve修改对象实例
2014/09/26 Python
python实现超简单端口转发的方法
2015/03/13 Python
Linux系统上Nginx+Python的web.py与Django框架环境
2015/12/25 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
PyQt5响应回车事件的方法
2019/06/25 Python
基于MATLAB和Python实现MFCC特征参数提取
2019/08/13 Python
wxpython绘制圆角窗体
2019/11/18 Python
使用python远程操作linux过程解析
2019/12/04 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
python之随机数函数的实现示例
2020/12/30 Python
浅谈h5自定义audio(问题及解决)
2016/08/19 HTML / CSS
C语言怎样定义和声明全局变量和函数最好
2013/11/26 面试题
小学生中国梦演讲稿
2014/04/23 职场文书
出国签证在职证明
2014/09/20 职场文书
党员民主评议个人总结
2014/10/20 职场文书
丧事答谢词
2015/01/05 职场文书