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实现控制台输入密码的方法
May 29 Python
python简单实现获取当前时间
Aug 27 Python
Django使用Celery异步任务队列的使用
Mar 13 Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 Python
python中for循环输出列表索引与对应的值方法
Nov 07 Python
对python操作kafka写入json数据的简单demo分享
Dec 27 Python
详解如何用TensorFlow训练和识别/分类自定义图片
Aug 05 Python
Python 脚本的三种执行方式小结
Dec 21 Python
python:目标检测模型预测准确度计算方式(基于IoU)
Jan 18 Python
在pycharm中为项目导入anacodna环境的操作方法
Feb 12 Python
Django多数据库配置及逆向生成model教程
Mar 28 Python
python实现KNN近邻算法
Dec 30 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
将数组写入txt文件 var_export
2009/04/21 PHP
php源码分析之DZX1.5随机数函数random用法
2015/06/17 PHP
php自定义时间转换函数示例
2016/12/07 PHP
PHP array_reduce()函数的应用解析
2018/10/28 PHP
JS查看对象功能代码
2008/04/25 Javascript
7个Javascript地图脚本整理
2009/10/20 Javascript
javascript 命名规则 变量命名规则
2010/02/25 Javascript
十个优秀的Ajax/Javascript实例网站收集
2010/03/31 Javascript
jquery miniui 教程 表格控件 合并单元格应用
2012/11/25 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
2016/02/06 Javascript
jQuery使用zTree插件实现树形菜单和异步加载
2016/02/25 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
2017/03/25 Javascript
详解react如何在组件中获取路由参数
2017/06/15 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
微信小程序视图template模板引用的实例详解
2017/09/20 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
详解如何使用koa实现socket.io官网的例子
2018/11/04 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
JavaScript监听一个DOM元素大小变化
2020/04/26 Javascript
js实现日历
2020/11/07 Javascript
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
python实现闹钟定时播放音乐功能
2018/01/25 Python
Python爬虫工程师面试问题总结
2018/03/22 Python
python批量赋值操作实例
2018/10/22 Python
html5的canvas方法使用指南
2014/12/15 HTML / CSS
在HTML5中使用MathML数学公式的简单讲解
2016/02/19 HTML / CSS
小学教师的个人自我鉴定
2013/10/26 职场文书
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
青春演讲稿范文
2014/05/08 职场文书
应届毕业生自荐书
2014/06/18 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
2016新年致辞
2015/08/01 职场文书
Nginx搭建rtmp直播服务器实现代码
2021/03/31 Servers
python随机打印成绩排名表
2021/06/23 Python