首页 > 编程 > Python > 正文

Python登录注册验证功能实现

2020-02-15 21:54:40
字体:
来源:转载
供稿:网友

简介

本次项目登录注册验证是对之前学习知识点的加深学习,这次项目的练习的知识点有函数、判断语句、循环语句、文件操作等。

项目流程

运行代码之后,输出登录或者注册选项。

当选择登录之后,输入用户名密码,如果该用户信息没有注册过,就输出登录失败,如果该用户信息已经注册过,就显示登录成功。

当选择注册之后,输入用户名密码,如果该用户信息没有注册过,就输出注册成功,如果该用户信息已经注册过,就显示用户名已经存在,注册失败。

代码流程

运行代之后首先执行main()函数,mian()函数中接收用户输入的用户名和密码,用户选择登录,就调用loing()函数,将用户输入的信息在和存放用户信息的文件中的信息进行比对,如果有该用户的信息就登录成功,否则失败,用户选择注册,在接收到用户输入的用户名密码之后,调用register()函数,在这里将调用 user_exist()函数进行对用户输入的信息进行判断,如用户输入的信息存在存放用户信息的文件里,输出注册失败,否则注册成功。

在login()和user_exist()函数中调用了错误处理函数。

错误处理函数介绍

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

ry中的代码执行没有出现错误,就不再执行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 Falsedef 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 Truedef 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 Falsedef 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()            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表