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系统并执行了几个命令,基本算是初试成功,后面会接着学习的. 代码: > ...
随机推荐
- IntelliJ Idea 常用快捷键列表 (需整理下) https://blog.csdn.net/dc_726/article/details/42784275
[常规] https://blog.csdn.net/dc_726/article/details/42784275https://jingyan.baidu.com/article/59a015e3 ...
- Richview 首页 奇偶页 不同页眉页脚
首页 奇偶页 不同页眉页脚 ScaleRichView v6.0 Different headers and footers for the first page, for odd and even ...
- SAFEARRAY
SAFEARRAY SafeArrayCreate SafeArrayDestroy // Specify the bounds: // -- dim. count = 2 // -- elemen ...
- Visio2013 64位下载安装以及破解激活教程
特别说明:以下教程如果未能破解激活,请在断网条件下安装破解!!!! 安装: Visio2013 professional版下载地址:https://pan.baidu.com/s/1gzwcGTevV ...
- android手机 ping 虚拟机ubuntu的ip地址
今天使用android手机往虚拟机上ubuntu 上搭建的nginx 和rtmp服务器推送东西的时候,怎么都推不上去. 后来在windows下的cmd里: # adb shell # ping 192 ...
- set 续1
--------siwuxie095 三.用 set 实现计算 语法: SET /A expression /A 命令行开关指定等号右边的字符串为待计算的数字表 ...
- [Linux] Big-endian and Little-endian (大小端模式)
Big-endian Little-endian 大小端模式 https://en.wikipedia.org/wiki/Endianness 大端模式,是指数据的高字节保存在内存的低地址中,而数 ...
- error:Your local changes to the follwing files would be overwritten by merge
- abp CrudAppService 自定义分页、排序
public class GetAllTasksInput : PagedAndSortedResultRequestDto { public TaskState? State { get; set; ...
- JSON.parse()和JSON.stringify()的使用
parse用于从一个字符串中解析出json对象,如 var str = '{"name":"huangxiaojian","age":&qu ...