• 技术文章 >后端开发 >Python教程

    Python实现简单登录验证

    2016-06-10 15:05:17原创565
    本文实例为大家分享了简单的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("\\",'//m.sbmmt.com/m/') + '//m.sbmmt.com/m/'
    #print (path1)
    #path2 = path1 + '//m.sbmmt.com/m/'
    
    #循环输入
    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
    

    以上就是本文的全部内容,希望对大家的学习有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:python字符串连接方法分析 下一篇:python去除文件中空格、Tab及回车的方法
    千万级数据并发解决方案

    相关文章推荐

    • 详细介绍python的numpy模块• Python多进程知识点总结• Python模块化整理和第三方模块的安装(总结分享)• 一起聊聊Python的编码样式• 带你搞懂Python反序列化
    1/1

    PHP中文网