1)输入用户名密码
2)认证成功后显示欢迎信息
3)输错三次后锁定
#!/usr/local/bin/python3# Author: Jonas Mao import osimport sysimport getpass
os.system(‘clear‘) #清理屏幕(可选)user_limit = 0while user_limit < 3: username = input(‘请输入您的用户名:‘) lock_file = open(‘lock_list‘,‘r+‘) lock_file2 = lock_file.readlines() for lock in lock_file2: lock = lock.strip(‘\n‘) if username == lock: print(‘用户%s已经锁定,请联系系统管理员!‘ % username) sys.exit(1) user_file = open(‘user_list‘,‘r+‘).readlines() for user in user_file: (user,passwd) = user.strip(‘\n‘).split() #分别获取帐号和密码信息 if username == user: passwd_limit = 0 while passwd_limit < 3: password = getpass.getpass(‘请输入您的密码:‘) #输入密码时不可见 if password == passwd: print(‘欢迎用户%s登录系统!‘ %username) sys.exit(0) else: if passwd_limit != 2: print(‘用户%s的密码错误,请重新输入,还有%d次机会!‘ %(username,2-passwd_limit)) passwd_limit += 1 else: lock_file.write(username + ‘\n‘) lock_file.close() sys.exit(‘用户%s已经锁定,请联系管理员!‘ % username) else: pass #当用户没匹配时,跳过并继续循环 else: if user_limit != 2: print(‘用户%s输入错误,请重新输入,还有%d次机会!‘ %(username,2-user_limit)) else: sys.exit(‘错误输入导致程序退出,请重新运行!‘) user_limit += 1
原文地址:https://www.cnblogs.com/jonas2017/p/8120699.html
时间: 2024-11-29 12:14:37