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练习_简单登录
python练习_简单登录 需求: 做一个登录的小程序,验证用户与密码 要求登录三次错误后锁定 以下代码实现的功能与思路: 功能: 1.除admin以外的用户累计登录失败次数超过三次则锁定,此时需要管 ...
- 练习:python 操作Mysql 实现登录验证 用户权限管理
python 操作Mysql 实现登录验证 用户权限管理
- 【ADO.NET】2、各种版本的 简单登录验证
一.简单登录验证(防SQL注入) GetString(序号) 返回某一列的值(当用户不记得列名序号时,可使用GetOrdinal()获取到序号)GetInt32(序号) 针对的是 int 字段,返回i ...
- 使用 python 编写一个授权登录验证的模块
使用 python 编写一个授权登录验证的模块 我们编写的思路: 1.登录的逻辑:如果用户名和密码正确,就返回 token . 2.生成 token 的逻辑,根据用户名,随机数,当前时间 + 2 小时 ...
- MVC+三层+ASP.NET简单登录验证
通过制作一个登录小案例来搭建MVC简单三层 在View --Shared下创建一个母版页: <!DOCTYPE html> <html> <head> <me ...
- python 3.5 用户登录验证和输入三次密码锁定用户
#!/usr/bin/env python #encoding: utf-8 #登录程序,输入用户和密码输出欢迎信息,输入错误三次锁定用户,不让登录 import sys print (''' 欢迎登 ...
- 学习PHP第一天-----简单登录
<!DOCTYPE html> <html> <head> <title>初级登录界面</title> </head> < ...
- nodejs(一) 简单登录验证 使用mongoose 操作MongoDB
---恢复内容开始--- 开发使用webstorm 9 新建nodejs+express 项目 newfarmer 文章目录 配置Mongoose 创建目录及文件 插入数据,POST提交JSON增加 ...
- Python Flask装饰器登录验证
from flask import Flask,render_template,redirect,request,session app = Flask(__name__) app.secret_ke ...
随机推荐
- 在 Canvas 中绘制扇形
在 HTML5 Canvas 中,我们可以通过 arc 方法来绘制圆形: // context.arc(x, y, r, sAngle, eAngle, counterclockwise); var ...
- 【转】实战Nginx与PHP(FastCGI)的安装、配置与优化
原文连接:http://ixdba.blog.51cto.com/2895551/806622 原文作者:南非蚂蚁 转载注明以上信息 一.什么是 FastCGIFastCGI是一个可伸缩地.高速地在H ...
- WCF不支持 ASP.NET 兼容性 解决办法
错 误提示:无法激活服务,因为它不支持 ASP.NET 兼容性.已为此应用程序启用了 ASP.NET 兼容性.请在 web.config 中关闭 ASP.NET 兼容性模式或将 AspNetCompa ...
- [转载] 50个Android开发人员必备UI效果源码
好东西,多学习! Android 仿微信之主页面实现篇Android 仿微信之界面导航篇Android 高仿QQ 好友分组列表Android 高仿QQ 界面滑动效果Android 高仿QQ 登陆界面A ...
- Material风格的Quick组件,妈妈再也不用担心我的界面不好看了
https://github.com/papyros/qml-material http://www.zhihu.com/question/38523930
- Qt中实现启动画面(延时过程中要加上app.processEvents())
纵所周之,当一个程序的启动比较耗时的时候,为了不让用户枯燥的等待或者是误以为程序运行异常了,所以我们都会在启动比较耗时的程序中加上启动界面 ,例如office软件等等. 在Qt中实现启动界面,主要就是 ...
- Spring Boot 配置优先级顺序
一般在一个项目中,总是会有好多个环境.比如: 开发环境 -> 测试环境 -> 预发布环境 -> 生产环境 每个环境上的配置文件总是不一样的,甚至开发环境中每个开发者的环境可能也会有一 ...
- bzoj1633 [Usaco2007 Feb]The Cow Lexicon 牛的词典
Description 没有几个人知道,奶牛有她们自己的字典,里面的有W (1 ≤ W ≤ 600)个词,每个词的长度不超过25,且由小写字母组成.她们在交流时,由于各种原因,用词总是不那么准确.比如 ...
- javax.Swing 使用GridBagLayout的程序栗子
摘自https://zhidao.baidu.com/question/110748776.html javax.Swing 使用GridBagLayout的程序栗子 总共两个文件,第一个是启动文件, ...
- 【转】RTSP流理解
rtsp是使用udp还是tcp,是跟服务器有关,服务器那边说使用udp,那就使用udp,服务器说使用tcp那就使用tcp rtsp客户端的创建: 1.建立TCP socket,绑定服务器ip,用来传送 ...