python 写csv加锁_Python 用户登录锁定小脚本

本文介绍了一个Python脚本,用于实现用户登录时的密码错误计数。如果密码连续输入错误三次,脚本将锁定用户并提示用户联系管理员解锁。脚本首先读取CSV文件中的用户名、密码和错误次数,然后在用户输入时检查密码和错误次数,最终更新并保存文件。
摘要由CSDN通过智能技术生成

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

72ca7a61bce0e687352ec4fda9cc2012.png

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

ff932e2acd9feb30a52432b602d09729.png

代码如下:

#!/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("密码错误,请重新输入密码:")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值