Python 用户登录锁定小脚本

现在有一用户密码文件,需要根据此对用户的登录行为进行判断,密码错误三次即锁定用户。 文件如下:

输入图片说明

可以先根据文件生成用户名和密码以及密码错误次数对应的字典,每次获得用户输入后,先验证其密码错误次数,超过三次则直接锁定用户并退出,如未超过三次,则验证密码准确性,密码正确,登录成功,密码错误则提示用户重新输入密码,直到登录成功或密码错误三次用户锁定为止,并在程序退出前将密码错误次数写回原文件。

输入图片说明

代码如下:


#!/usr/bin/env python3
dict = {}
userlist = []
file = open('user.list','r')
for line in file:
    name = line.strip('\n').split(':')[0]
    userlist.append(name)           #生成用户名列表
    user,pwd,cnt = line.strip('\n').split(':')
    dict[user] = [pwd,cnt]          #读取文件,生成字典
file.close()
usr = input("请输入用户名:")
flag = True
while flag:
    pwd  =  input("请输入密码:")
    if usr not in userlist:
        usr = input("用户名不存在,请重新输入用户名:")
        continue
    else:
        cnt = int(dict[usr][1])
        passwd = dict[usr][0]
    if cnt > 2:
        print("用户被锁定,请联系管理员解锁!")
        break
    while True:
        if pwd == passwd:
            print("登录成功!")
            flag = False
            break
        else:
            cnt += 1
            dict[usr][1] = cnt
            file = open('user.list', 'w')
            for i in userlist:
                info = i + ':' + dict[i][0] + ':' + str(dict[i][1])
                file.write(info)
                file.write('\n')
            file.close()            #将字典写回文件
            if cnt > 2:
                print("密码错误三次,用户已锁定!")
                flag = False
                break
            else:
                pwd = input("密码错误,请重新输入密码:")

转载于:https://my.oschina.net/u/2510715/blog/675011

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值