Home > Article > Backend Development > python user login system
The example in this article shares the python implementation code of the user login system for your reference. The specific content is as follows
Notes:
1. Use python3 to execute the program . Enter 1 or 2 as prompted to log in or exit the program
2. After entering the user name, if the user name is locked or the user name is invalid, the program will exit. Please ensure that the input is correct.
3. After entering the correct user name, enter the password. If the username is correct and the password is entered incorrectly three times in a row, the user will be locked out and prohibited from logging into the system
#!/usr/local/env python #coding:utf-8 #Auto:Panwenbin #function: lock_file=open('file_lock.txt','r+') user_pass=open('username_file.txt','r+') count=0
cmd=input(''' 1:登录系统 2:退出系统 请输入您的操作:''') if cmd.isdigit() and int(cmd)==2: exit() elif cmd.isdigit() and int(cmd)==1: while count <3:#只要重试不超过3次就不断循环 username=input('请输入您的用户名:') for i in lock_file.readlines(): #判断用户名是否在锁文件中 i=i.split() if username in i[0]: print('对不起 %s 已锁定'%username) exit()
match = False for j in user_pass.readlines(): user,password = j.strip('\n').split() #去掉每行多余的\n并把这一行按空格分成两列,分别赋值为user,passwd两个变量 if username == user: #判断输入的用户是否存在 passwd=input ('请输入密码:') if password == passwd: print ('用户名和密码正确') match = True break elif password != passwd:#在用户名正确的前提下,判断输入的密码是否正确 for i in range(2): passwd=input ('密码错误,请重新输入密码:') if password == passwd: print ('用户名和密码正确') match = True break
if username != user :#判断用户不存在 print('您输入用户名不存,程序已退出') exit() elif match == False :#如果match还为False,代表上面的循环中跟本就没有match上用户名和密码 print('密码和用户名不匹配,尝试超过三次,用户被锁定') lock_file.write('%s \n'%username) lock_file.close() user_pass.close() exit() elif match==True: print('登录成功') break else: print('无效选项,程序已退出')
The above is the entire content of this article, I hope it will be helpful to everyone learning python programming.
For more articles related to python user login system, please pay attention to the PHP Chinese website!