>  기사  >  백엔드 개발  >  파이썬 사용자 로그인 시스템

파이썬 사용자 로그인 시스템

高洛峰
高洛峰원래의
2017-03-02 16:17:192605검색

이 글의 예시는 참고용으로 사용자 로그인 시스템 Python 구현 코드를 공유합니다.

참고:
1. 프로그램을 실행합니다. 로그인 또는 프로그램 종료 메시지가 나타나면 1 또는 2를 입력하십시오
2. 사용자 이름을 입력한 후 사용자 이름이 잠겨 있거나 사용자 이름이 유효하지 않은 경우 입력이 올바른지 확인하십시오.
3. 정확한 사용자 이름을 입력한 후 비밀번호를 입력하세요. 사용자 이름은 정확하고 비밀번호를 연속 3회 틀리게 입력하면 해당 사용자는 잠기고 시스템 로그인이 금지됩니다.

#!/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(&#39;请输入您的用户名:&#39;) 
    for i in lock_file.readlines(): #判断用户名是否在锁文件中 
      i=i.split() 
      if username in i[0]: 
        print(&#39;对不起 %s 已锁定&#39;%username) 
        exit()

match = False 
    for j in user_pass.readlines(): 
      user,password = j.strip(&#39;\n&#39;).split() #去掉每行多余的\n并把这一行按空格分成两列,分别赋值为user,passwd两个变量 
      if username == user:   #判断输入的用户是否存在 
          passwd=input (&#39;请输入密码:&#39;) 
          if password == passwd: 
             print (&#39;用户名和密码正确&#39;) 
             match = True 
             break

          elif password != passwd:#在用户名正确的前提下,判断输入的密码是否正确 
             for i in range(2): 
              passwd=input (&#39;密码错误,请重新输入密码:&#39;) 
              if password == passwd: 
                 print (&#39;用户名和密码正确&#39;) 
                 match = True 
                 break

if username != user :#判断用户不存在 
      print(&#39;您输入用户名不存,程序已退出&#39;) 
      exit() 
    elif match == False :#如果match还为False,代表上面的循环中跟本就没有match上用户名和密码 
      print(&#39;密码和用户名不匹配,尝试超过三次,用户被锁定&#39;) 
      lock_file.write(&#39;%s \n&#39;%username) 
      lock_file.close() 
      user_pass.close() 
      exit() 
    elif match==True: 
      print(&#39;登录成功&#39;) 
      break 
else: 
  print(&#39;无效选项,程序已退出&#39;)

위 내용은 이 글의 전체 내용입니다. , 파이썬 프로그래밍을 배우는 모든 분들에게 도움이 되길 바랍니다.

Python 사용자 로그인 시스템과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.