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中scipy.misc.logsumexp函数的运用场景
Jun 23 Python
python实现冒泡排序算法的两种方法
Mar 10 Python
python使用zip将list转为json的方法
Dec 31 Python
详解Python3 对象组合zip()和回退方式*zip
May 15 Python
django做form表单的数据验证过程详解
Jul 26 Python
如何使用Python多线程测试并发漏洞
Dec 18 Python
如何在python中执行另一个py文件
Apr 30 Python
完美解决jupyter由于无法import新包的问题
May 26 Python
IntelliJ 中配置 Anaconda的过程图解
Jun 01 Python
Python脚本打包成可执行文件过程解析
Oct 20 Python
Python 获取异常(Exception)信息的几种方法
Dec 29 Python
详解Python模块化编程与装饰器
Jan 16 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
PHP curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
php批量修改表结构实例
2017/05/24 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
js中string转int把String类型转化成int类型
2014/08/13 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
2014/08/16 Javascript
使用jQuery实现input数值增量和减量的方法
2015/01/24 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
2015/02/13 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
JavaScript职责链模式概述
2016/09/17 Javascript
localStorage实现便签小程序
2016/11/28 Javascript
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
详解Vue组件实现tips的总结
2017/11/01 Javascript
p5.js入门教程之小球动画示例代码
2018/03/15 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
微信小程序实现卡片层叠滑动效果
2019/06/21 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
python sys模块sys.path使用方法示例
2013/12/04 Python
Python中关键字is与==的区别简述
2014/07/31 Python
Python缩进和冒号详解
2016/06/01 Python
python编写Logistic逻辑回归
2020/12/30 Python
selenium3+python3环境搭建教程图解
2018/12/07 Python
如何基于Python实现自动扫雷
2020/01/06 Python
Roxy荷兰官方网站:冲浪、滑雪板、服装和配件
2019/10/22 全球购物
生产经理的自我评价分享
2013/11/07 职场文书
车间班组长岗位职责
2013/11/13 职场文书
化工专业大学生职业生涯规划书
2014/01/14 职场文书
文明单位汇报材料
2014/12/24 职场文书
诚信高考倡议书
2019/06/24 职场文书
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python
Debian11 Xfce终端光标的颜色怎么设置?
2022/08/14 数码科技