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 文件操作技巧(File operation) 实例代码分析
Aug 11 Python
Python搜索引擎实现原理和方法
Nov 27 Python
机器学习经典算法-logistic回归代码详解
Dec 22 Python
python调用Matplotlib绘制分布点并且添加标签
May 31 Python
Python Learning 列表的更多操作及示例代码
Aug 22 Python
python re库的正则表达式入门学习教程
Mar 08 Python
python+tkinter实现学生管理系统
Aug 20 Python
python实现批量处理将图片粘贴到另一张图片上并保存
Dec 12 Python
python读取tif图片时保留其16bit的编码格式实例
Jan 13 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
python实现mean-shift聚类算法
Jun 10 Python
Python机器学习三大件之一numpy
May 10 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
php 静态化实现代码
2009/03/20 PHP
PHP 数组遍历顺序理解
2009/09/09 PHP
php使用str_replace实现输入框回车替换br的方法
2014/11/24 PHP
php实现生成验证码实例分享
2016/04/10 PHP
Smarty模板配置实例简析
2019/07/20 PHP
javascript动画效果类封装代码
2007/08/28 Javascript
jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
2010/05/24 Javascript
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
2013/01/23 Javascript
网页整体变灰白色(兼容各浏览器)实例
2013/04/21 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
JS实现全屏的四种写法
2016/12/30 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
解决vue做详情页跳转的时候使用created方法 数据不会更新问题
2020/07/24 Javascript
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
2021/01/29 jQuery
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
python实现数组插入新元素的方法
2015/05/22 Python
利用python3随机生成中文字符的实现方法
2017/11/24 Python
TensorFlow数据输入的方法示例
2018/06/19 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
Django实现随机图形验证码的示例
2020/10/15 Python
Python django框架 web端视频加密的实例详解
2020/11/20 Python
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
HTML5 canvas 基本语法
2009/08/26 HTML / CSS
英国时尚运动品牌的合集:The Sports Edit
2017/12/20 全球购物
教学实习自我评价
2014/01/28 职场文书
军人离婚协议书样本
2014/10/21 职场文书
爱心募捐感谢信
2015/01/22 职场文书
水电工程师岗位职责
2015/02/13 职场文书
Python 发送SMTP邮件的简单教程
2021/06/24 Python
Win11如何查看显卡型号 Win11查看显卡型号的方法
2022/08/14 数码科技