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用户管理系统的实例讲解
Dec 23 Python
Python3.5.3下配置opencv3.2.0的操作方法
Apr 02 Python
Django后台获取前端post上传的文件方法
May 28 Python
如何在Django中设置定时任务的方法示例
Jan 18 Python
Django实现web端tailf日志文件功能及实例详解
Jul 28 Python
Django如何实现上传图片功能
Aug 16 Python
TFRecord格式存储数据与队列读取实例
Jan 21 Python
8种常用的Python工具
Aug 05 Python
Anaconda详细安装步骤图文教程
Nov 12 Python
pandas 数据类型转换的实现
Dec 29 Python
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
Nov 11 Python
Python 图片添加美颜效果
Apr 28 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导出到Excel或CSV的详解(附utf8、gbk 编码转换)
2013/06/25 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
php+xml编程之xpath的应用实例
2015/01/24 PHP
php保存任意网络图片到服务器的方法
2015/04/14 PHP
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
2007/08/31 Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
2011/04/26 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
jQuery实现多级联动下拉列表查询框
2016/01/18 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
JS打印组合功能
2016/08/04 Javascript
Bootstrop实现多级下拉菜单功能
2016/11/24 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
微信小程序之获取当前位置经纬度以及地图显示详解
2017/05/09 Javascript
微信小程序实现倒计时60s获取验证码
2020/04/17 Javascript
Webpack 4.x搭建react开发环境的方法步骤
2018/08/15 Javascript
node.js处理前端提交的GET请求
2019/08/30 Javascript
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
在Uni中使用Vue的EventBus总线机制操作
2020/07/31 Javascript
vue-router 控制路由权限的实现
2020/09/24 Javascript
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
python删除不需要的python文件方法
2018/04/24 Python
对python list 遍历删除的正确方法详解
2018/06/29 Python
python高阶爬虫实战分析
2018/07/29 Python
Python元组知识点总结
2019/02/18 Python
django迁移数据库错误问题解决
2019/07/29 Python
Pytorch训练过程出现nan的解决方式
2020/01/02 Python
python实现文字版扫雷
2020/04/24 Python
解决virtualenv -p python3 venv报错的问题
2021/02/05 Python
EJB timer的种类
2014/10/28 面试题
是否可以从一个static方法内部发出对非static方法的调用?
2014/08/18 面试题
学生干部学习的自我评价
2014/02/18 职场文书
秋季运动会开幕词
2015/01/28 职场文书
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle