python 作业 编写登陆接口
程序员文章站
2022-07-24 16:00:30
用Python编写一个简单的登陆接口要求1,输入用户名密码2,认证成功后显示欢迎信息3,输错3次后用户锁定blacklist.txt内容zhaoyiqianersunanlisiuserlist.txt内容zhouwu 123456wuliu 123456zhengqi 123456www 1234 ......
用Python编写一个简单的登陆接口
要求
1,输入用户名密码
2,认证成功后显示欢迎信息
3,输错3次后用户锁定
blacklist.txt内容
zhaoyi
qianer
sunan
lisi
userlist.txt内容
zhouwu 123456
wuliu 123456
zhengqi 123456
www 123456
# -*- coding:utf-8 -*-
import os,sys
for i in range(3): #进行3次循环
blacklist = open(r"C:\Users\Pc4\Desktop\blacklist.txt", 'r') #打开文件
name = input('plese input your name:')
list = blacklist.readlines() #把文件内容读取成为列表形式
for lock in list:
lock = lock.strip('\n') #去掉字符串后面的回车
if name==lock: #判断输入的名字是否在黑名单
print('The user is locked')
blacklist.close() #关闭黑名单文件
sys.exit() #退出程序
blacklist.close() #如果输入的用户名不在黑名单,关闭文件
userlist = open(r'C:\Users\Pc4\Desktop\userlist.txt', 'r') #打开用户文件
user_list = userlist.readlines() #把用户读取到列表
dict_usermane = {} #创建一个空的字典
for user in user_list:
(username,password) =user.strip().split() #把列表的内容进行切片
dict_usermane[username]=password #把用户名和对应的密码存到字典
username_list = dict_usermane.keys() #把字典中的用户名取出,做成一个单独的列表
while name in username_list: #判断输入的用户名是否在用户名列表
passwd = input('plese input your password:')
if passwd == dict_usermane.get(name): #判断用户名对应的密码
print('welcome to this system!')
sys.exit()
else:
print('your password is wrong.')
i=i+1
if i == 3:
blacklist = open("C:/Users/Pc4/Desktop/blacklist.txt",'a+')
blacklist.write(name + '\n') #当出入三次错误密码后把用户添加到黑名单
blacklist.close()
userlist = open("C:/Users/Pc4/Desktop/userlist.txt", 'r')
lines = userlist.readlines()
newuserlist = open("C:/Users/Pc4/Desktop/userlist.txt", 'w+')
for line in lines:
if name in line:
continue
newuserlist.write(line) #把输错的用户从用户文件中删除
userlist.close()
newuserlist.close()
sys.exit(1)
else:
print('don\'t have the user') #如果输错用户名显示没有用户
上一篇: 形成胃溃疡的原因是什么?
下一篇: Linux下iptables安全配置