Python实现用户登录注册验证功能详解

清欢
清欢
发布时间:2026-10-13 | 1人浏览过
原创

本文通过Python基础语法实现登录注册验证功能,涵盖函数定义、条件判断、循环结构及文件IO操作。详细解析登录与注册的业务流程,重点讲解try-except异常处理在文件读取中的应用,并展示完整代码实现,帮助初学者掌握用户信息存储与校验的核心技术。

简介

本次项目是对前期所学Python知识点的综合应用与深化练习。项目核心涉及的知识点包括函数定义与调用、条件判断语句、循环控制语句以及文件读写操作等基础内容。

项目流程

程序启动后,首先向用户输出操作菜单,提供登录或注册的功能选项供用户选择。

若用户选择登录功能,需输入用户名和密码。系统会检查该用户信息是否已注册:若未注册,则提示登录失败;若已注册且信息匹配,则提示登录成功。

若用户选择注册功能,需输入用户名和密码。系统会检查该用户名是否已存在:若用户名未注册,则提示注册成功;若用户名已存在,则提示用户名重复,注册失败。

代码流程

程序运行后,首先执行main()主函数。main()函数接收用户输入的用户名和密码,并根据用户选择执行不同逻辑:若选择登录,则调用login()函数,将用户输入信息与存储用户信息的文件数据进行比对,存在匹配信息则登录成功,否则失败;若选择注册,在接收输入后调用register()函数,并在此过程中调用user_exist()函数判断用户信息是否存在。若文件中已存在该用户信息,则输出注册失败;否则执行注册操作并输出成功。

在login()和user_exist()函数的实现中,均调用了错误处理机制以应对文件操作可能出现的异常。

错误处理函数介绍

try: ..... except IOError: ......

当try代码块中的语句执行未出现错误时,程序跳过except代码块;若try代码块中发生错误(如文件读取异常),则执行except代码块中的处理逻辑。

代码实现

def login(username, password):
  """
  用于用户名和密码的验证
  :param username:用户名
  :param paaword:密码
  :return:True,用户验证成功;False,用户验证失败
  """
  try:
    f = open("users", "r", encoding="utf-8")
    for line in f:
      line = line.strip() # 清除换行符
      # 无参数时移除两侧空格,换行符
      # 有参数时移除两侧指定的字符
      line_list = line.split("$")
      if line_list[0] == username and line_list[1] == password:
        # print("成功")
        return True
    return False
  except IOError:
    return False


def register(username, password):
  """
  注册用户
  1、打开文件
  2、用户名$密码
  :param username:用户名
  :param password:密码
  :return:True:注册成功;
  """
  with open("users", "a", encoding="utf-8") as f:
    temp = "\n" + username + "$" + password
    f.write(temp)
    return True


def user_exist(username):
  """
  检测用户名是否存在
  :param username:要检测的用户名
  :return: True:用户名存在;False:用户名不存在
  """
  # 一行一行的去查找,如果用户名存在,return True:False
  try:
    with open("users", "r", encoding="utf-8") as f:
      for line in f:
        line = line.strip()
        line_new = line.split("$")
        if line_new[0] == username:
          return True
      return False
  except IOError:
    return False


def main():
  while True:
    print("欢迎登录xxx系统")
    arg = input("1:登录,2:注册")

    if arg == "1":
      uer = input("请输入用户名:")
      pwd = input("请输入密码:")
      if login(uer, pwd):
        print("成功")
        break
      else:
        print("失败")
    elif arg == "2":
      user = input("请输入用户名:")
      pwd = input("请输入密码:")
      is_exist = user_exist(user)
      if is_exist:
        print("用户名已经存在,注册失败")
      else:
        if register(user, pwd):
          print("注册成功")
          continue
        else:
          print("注册失败")
    else:
      print("输入错误,请重新输入")


main()

本项目仅使用了前期学习的基础知识,属于较为简单的入门级项目,后续将继续深入学习和拓展相关技术。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表