Python验证实现登陆功能以及用户锁定(文件存储)
废话不多说先交代码(只是一个简单的验证):
#!/usr/bin/env python
#-*- coding:utf8 -*-
# Structured program ‘#’是注释
# Function definition 函数的定义都是以def开头的,与C语言一样,调用函数必须在上面
user_pwd = {'root1':'','root2':''}
count=0
num=0
list1=[]#读取被锁定的用户名
list2=[]
with open('name','r') as f:
line=f.readline()
if line !='':
list1.append(line[:-1])
print(list1)
while num<3:
user = input("请输入用户名:")
pwd = input("请输入密码:")
if user in list1:
print("您已被锁定!")
num-=1
continue
if user in user_pwd:
if user_pwd.get(user)==pwd:
print("登陆成功!")
break
else:
num+=1
print("密码输入错误!")
else:
num+=1
print("用户名输入错误!")
if num==3:
print(user,'您已被锁定!')
if user not in list1:
list1.append(user)
with open('name',"w") as f:
for i in list1:
f.writelines(i+'\n')
f.close()
print(user_pwd.get(user))
存储锁定用户名的文件名:name
大概思想:
1.用字典存储可以实现的用户名和密码
2.获取被锁定的用户名(从文件中获取)
3.把获取的str转变为list
4.登陆操作(输入用户名和用户密码)
5.判断是否用户名是否在被锁定名单中
6.根据输入信息(用户名和密码)输出提示信息
7.如果3次操作失误,锁定该用户(将该用户名存入文件中)
用到的知识点:
1.I/O输入输出
2.文件的读取和输出(f.readline()=="" 判断文件是否全部读完)记得要关闭文件流(close())
3.列表list的增加操作(list.append(str))
Python验证实现登陆功能以及用户锁定(文件存储)的更多相关文章
- Python练习-函数版-锁定三次登陆失败的用户
代码如下: # 编辑者:闫龙 if __name__ == '__main__': import UserLoginFuncation LoclCount=[]; while True: UserNa ...
- Python实现简单登陆验证(文件操作)
利用python编写一个简单的登陆验证 代码主要功能: 利用Python实现简单的登陆验证,代码主要有两个部分组成: 第一部分:登陆页面,作用是实现用户名和密码的输入 利用两个输入函数input()来 ...
- 使用Struts框架,实现用户登陆功能
前言:本篇文章是本人这周学习的一个小结,在自我总结的同时,希望也能够给其他同学带来一点帮助.本文主要知识是参照书本上的知识点以及网上其他博客文章,在上机操练后的所得,具体源码主要来自http://bl ...
- python3 用户登录验证的小功能
用户登录验证,记录一下,还需要修改黑名单不合理 #!/usr/bin/env python3 ''' 需求:编写登录接口 1.输入用户名和密码 2.验证用户密码成功后输出欢迎消息 3.3次没有验证通过 ...
- php 实现微信模拟登陆、获取用户列表及群发消息功能示例
本文实例讲述了php实现微信模拟登陆.获取用户列表及群发消息功能.分享给大家供大家参考,具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...
- python 循环和file操作实现用户密码输错三次将用户锁定
一.需求编写登录接口1.输入用户名密码2.认证成功后显示欢迎信息3.输错三次后锁定 二.简单思路登录,三次密码输入错误锁定用户1.用户信息文件:存放用户名和密码2.黑名单文件:将输入三次错误的用户加入 ...
- python作业(二)实现注册功能和登陆功能
#1.实现注册功能 输入:username.passowrd,cpassowrd #最多可以输错3次 #3个都不能为空 #用户名长度最少6位, 最长20位,用户名不能重复 #密码长度最少8位,最长15 ...
- Oracle_高级功能(5) 用户、角色、权限
一.用户(模式)1.定义用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作模式(schema):是某个用户所拥有的对象的集合.具有创建对象权限并创建了对象的用户称为拥有某 ...
- python通过SSH登陆linux并操作
使用python通过SSH登陆linux并操作 用的昨天刚接触到的库,在windows下通过paramiko来登录linux系统并执行了几个命令,基本算是初试成功,后面会接着学习的. 代码: > ...
随机推荐
- Linux gdb调试器用法全面解析
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,GDB主要可帮助工程师完成下面4个方面的功能: 启动程序,可以按照工程师自定义的要求随心所欲的运行程序. 让被调试的程序在工程师指定的断 ...
- c#中var类型用法同dynamic,object区别
1.object万能对象:object只是个对象,是个强类型,在编译的时候确定类型了,只能用对象本身的方法属性等等,object想使用动态属性方法只能用反射. 2.var万能强类型. 3.dynami ...
- Solr中Facet用法和Group用法
Group分组划分结果,返回的是分组结果: Facet分组统计,侧重统计,返回的是分组后的数量: 一.Group用法: //组查询基础配置params.set(GroupParams.GROUP, & ...
- 使用docker快速搭建环境-安装mysql
install docker sudo apt-get install -y docker.io download mysql sudo docker pull mysql start mysql s ...
- python学习---python基础一
一.Python介绍 1.python出生与应用 python的创始人是吉多.范罗苏姆(龟叔).1989年圣诞在家闲着无聊,决心开发一个新的脚本解释程序,作为ABC语言的一种继承 python崇尚的是 ...
- bootstrap更新数据层
mq推送数据,表格实时更新,发现销毁表格不太合适,整体表格闪动,于是选择更新数据层. 先初始化表格,然后在推送数据的时候先循环遍历数据 例如: initDevTable(data.operatingL ...
- js网页倒计时精确到秒级
网页实时倒计时,精确到秒级,和天数倒计时原理一样. 一个很好用的js倒计时!网页实时倒计时,精确到秒级,和天数倒计时原理一样.js倒计时一般用于商城网站团购,特卖,很多地方都可用到!希望能够给大家带来 ...
- leetcode67
public class Solution { public string AddBinary(string a, string b) { var list = new List<string& ...
- hibernate查询出的实体,set值后,自动更新到数据库
1.问题症状描述 最近在处理一个新需求问题,代码的大致逻辑是获取一个实体对象,调用该对象的set方法设置其中的某些字段,然后把修改后的实体作为参数供其他地方调用,根据返回值来决定是否更新这个 ...
- for 续10
---------siwuxie095 for 帮助信息: ...