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系统并执行了几个命令,基本算是初试成功,后面会接着学习的. 代码: > ...
随机推荐
- Carrying per-request context using the HttpRequestMessage.Properties
In a Web API application, I use Castle Windsor to supply services configured with PerWebRequest life ...
- centos7开发环境配置总结
1.win10下SecureCRT SSH连接慢 2.CentOS 7下Samba服务器的安装与配置 3.
- android studio 3.0.1使用笔记(一)20171231
首先安装JDK1.8.1并设置环境变量JAVA_HOME(C:/JAVA/JDK)及PATH(;%JAVA_HOME%\bin ) 然后安装AS 然后首次AS运行并退出,将GRADLE-4-1.ZIP ...
- OpenCL 第一个计算程序,两向量之和
▶ 一个完整的两向量加和的过程,包括查询平台.查询设备.创建山下文.创建命令队列.编译程序.创建内核.设置内核参数.执行内核.数据拷贝等. ● C 代码 #include <stdio.h> ...
- 关于eclipse open call hierarchy功能的一个细节
这个功能对应的快捷键是ctrl alt H,大家应该都很熟悉了.默认是查找这个方法的被调用堆栈.90%的人应该也是习惯这个默认的功能的,也基本无视它的另一个功能. 昨天重启eclipe之后,我的ecl ...
- Rhythmk 一步一步学 JAVA (19): 注解 annotation
在编写注解的时候需要了解的四种注解: @Target 表示该注解可以用于什么地方,可能的ElementType参数有: CONSTRUCTOR:构造器的声明 FIELD:域声明(包括enum实例) L ...
- DevExpress GridView 整理
1:去除 GridView 头上的 "Drag a column header here to group by that column" --> 点击 Run Desig ...
- 可视化库-Matplotlib-盒图(第四天)
盒图由五个数值点组成,最小观测值,下四分位数,中位数,上四分位数,最大观测值 IQR = Q3 - Q1 Q3表示上四分位数, Q1表示下四分位数,IQR表示盒图的长度 最小观测值 min =Q1 ...
- Nginx rewrite使用
转自: https://www.cnblogs.com/czlun/articles/7010604.html
- JSF + Primefaces: Problem with “rendered” components with ajax
Cant seem to get rendered to work correctly with update attributes. Here is my codes <ui:define n ...