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 06 Python
pyqt5自定义信号实例解析
Jan 31 Python
Python检查ping终端的方法
Jan 26 Python
Python基本socket通信控制操作示例
Jan 30 Python
基于python历史天气采集的分析
Feb 14 Python
Django中celery执行任务结果的保存方法
Jul 12 Python
Django 源码WSGI剖析过程详解
Aug 05 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
Oct 22 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
Jan 20 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
vscode+PyQt5安装详解步骤
Aug 12 Python
利用django创建一个简易的博客网站的示例
Sep 29 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
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
jquery.validate分组验证代码
2011/03/17 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
jquery使整个div区域可以点击的方法
2015/06/24 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
详解JavaScript编程中正则表达式的使用
2015/10/25 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
2016/06/29 Javascript
微信小程序 wx.request(object) API详解及实例代码
2016/09/30 Javascript
浅析JS中对函数function的理解(基础篇)
2016/10/14 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
js移动端事件基础及常用事件库详解
2017/08/15 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
2018/05/08 Javascript
js实现列表按字母排序
2020/08/11 Javascript
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
12步教你理解Python装饰器
2016/02/25 Python
python下载文件记录黑名单的实现代码
2017/10/24 Python
Django实现文件上传和下载功能
2019/10/06 Python
TensorFlow中如何确定张量的形状实例
2020/06/23 Python
python实现测试工具(二)——简单的ui测试工具
2020/10/19 Python
类的核心特性有哪些
2014/01/01 面试题
幼儿园秋游活动方案
2014/01/21 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
服装设计专业求职信
2014/06/16 职场文书
教师党员个人整改措施材料
2014/09/16 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
2015年元旦晚会活动总结(学生会)
2014/11/28 职场文书
公司开业主持词
2015/07/02 职场文书
2015年店长个人工作总结
2015/10/23 职场文书
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android
MySQL修炼之联结与集合浅析
2021/10/05 MySQL
MYSQL 表的全面总结
2021/11/11 MySQL