Python登录注册验证功能实现
作者:Alexsel 时间:2022-10-17 04:53:00
简介
本次项目登录注册验证是对之前学习知识点的加深学习,这次项目的练习的知识点有函数、判断语句、循环语句、文件操作等。
项目流程
运行代码之后,输出登录或者注册选项。
当选择登录之后,输入用户名密码,如果该用户信息没有注册过,就输出登录失败,如果该用户信息已经注册过,就显示登录成功。
当选择注册之后,输入用户名密码,如果该用户信息没有注册过,就输出注册成功,如果该用户信息已经注册过,就显示用户名已经存在,注册失败。
代码流程
运行代之后首先执行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 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()
这次的项目仅仅使用了之前学习的部分知识,比较简单的一个项目,之后会继续加深学习。
来源:https://www.cnblogs.com/liudi2017/p/9190952.html
标签:Python,登录,注册
0
投稿
猜你喜欢
Pytest fixture及conftest相关详解
2021-06-23 11:37:31
windows7下mysql8.0.18部署安装教程图解
2024-01-22 04:20:20
python代码如何注释
2021-08-16 20:46:29
Python标准库之日期、时间和日历模块
2021-04-11 17:05:14
详解Python字符串原理与使用的深度总结
2021-09-17 17:31:14
使用Python的音乐播放器GUI的实现
2022-03-02 05:02:45
Python Pywavelet 小波阈值实例
2021-09-10 23:19:18
斐波那契数列的递归算法优化
2010-01-23 11:37:00
Python 统计列表中重复元素的个数并返回其索引值的实现方法
2023-07-15 12:31:24
使用python matplotlib contour画等高线图的详细过程讲解
2023-10-21 06:29:10
微信小程序开发自定义tabBar实战案例(定制消息99+小红心)
2024-05-22 10:32:10
Python类中self参数用法详解
2023-06-19 00:40:54
经典mysql连接查询例题
2024-01-14 17:32:29
MySql 8.0.11安装配置教程
2024-01-18 23:41:46
Python定时器线程池原理详解
2022-02-10 02:09:07
uniapp路由uni-simple-router实例详解
2023-09-24 21:27:04
通过分析SQL语句的执行计划优化SQL
2011-10-24 20:03:20
Python学习之str重要函数
2022-12-29 05:46:37
PHP取余函数介绍MOD(x,y)与x%y
2023-10-02 20:15:55
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
2022-09-21 05:14:57