简介

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

项目流程

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

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

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

代码流程

运行代之后首先执行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()

这次的项目仅仅使用了之前学习的部分知识,比较简单的一个项目,之后会继续加深学习。

注册验证python_Python登录注册验证功能实现相关推荐

  1. php js实现登录注册,JavaScript实现登录注册验证

    学习需要坚持,堕落了一星期,学也不是,玩也不对,今天终于跑到图书馆来学习. 言归正传,今天要做的就是登录注册页面的验证和与数据库连接的操作.这里用的是JQ和layer插件,在前面的文章应该有提到过,不 ...

  2. php简单论坛登录注册,php简单登录注册验证

    列表页 //连接数据库 $db = new MySQLi('localhost','root','','z_1032'); !mysqli_connect_error() or die('连接失败') ...

  3. 文件的下载,随机验证码(无验证)登录注册

    文件的下载 文件下载的实质就是文件拷贝,将文件从服务器端拷贝到浏览器端. package com.oracle.demo02;import java.io.FileInputStream; impor ...

  4. php web 登录验证,Web登录Authorization验证

    通过Http访问服务器的一个服务软件的数据,浏览器会弹出以下验证弹框: 由于想用PHP curl方法获取数据,但不知道怎么设置用户名和密码验证参数: 这样发现不起作用: curl_setopt($cu ...

  5. python错误提示库没有注册_SpringBoot实现登录注册常见问题解决方案

    一.用户名密码都正确的情况下被登录拦截器拦截 控制台报错:org.apache.ibatis.executor.ExecutorException: A query was run and no Re ...

  6. Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能

    Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...

  7. 基于android校园订餐APP,简单实现登录注册功能(SharedPreferences)

    基于android校园订餐APP,简单实现登录注册功能(SharedPreferences) 欢迎浏览本篇文章 界面效果图 页面设计代码 源代码 欢迎浏览本篇文章 大家好! 这是小编首次在博客上写的文 ...

  8. 如何做WP的登录/注册功能

    2019独角兽企业重金招聘Python工程师标准>>> 首先我要做的效果如下 思路一:page 在WP里Page是最基本的东西,你第一想法肯定是用Page来做登录注册.但是登录注册其 ...

  9. PHP交互MySQL 实现登录注册功能

    目录 一,基础知识 建立.关闭与MySQL服务器的连接 1)连接指定的mysql服务器 2)连接错误时的提示 3)设置默认字符编码 4)选择特定的数据库 mysqli_select_db ( $lin ...

  10. SpringBoot集成阿里云短信服务实现登录注册(超详细)

    本篇博客采用得技术为:springboot + redis + aliyun短信验证 redis我用来做短信校验,首先我们先刨除redis部分做一个发送功能 登录你得阿里云账号 1 -> 控制台 ...

最新文章

  1. 深度学习核心技术精讲100篇(二十八)-由浅入深概览机器学习优化算法
  2. 神策数据入选铅笔道 2021 真榜“企业服务未来独角兽排行榜·营销与销售 TOP20”...
  3. 【目标检测_概述】recent advances in deep learning for object detection_2019
  4. LAMP(7限定某个目录禁止解析php、 限制user_agent、 PHP相关配置、PHP扩展模块
  5. 作为唯一索引_Mysql什么情况下不走索引?
  6. 精确记录和恢复ListView滑动位置
  7. oracle简单序列,-30天下载
  8. 如何在两个服务器之间迁移MySQL数据库
  9. 转:SQL Server 2005安装过程图解
  10. 90-40-009-源码-CUBE-引擎为Spark写入Hbase本
  11. 赛锐信息:SAP实施中最常见的安全挑战
  12. servlet的监听器、过滤器、拦截器的区别
  13. Java12之switch升级语法在Eclipse中的穿透问题
  14. 计算机毕业设计springboot+vue景区疫情预警系统
  15. JavaScript 获取当前日期和三十天以前日期
  16. Proxyee Down简介
  17. Java小游戏项目:推箱子游戏
  18. linux 文件 查找内容替换,linux递归查找文件内容并替换
  19. php上传文件默认路径,PHP文件上传到指定目录的实现过程实例解析
  20. CodingGame - Shadows of the Knight - Episode 1思路

热门文章

  1. 图论(5)邻接谱,邻接代数,图空间,托兰定理
  2. 如何优雅地制作精排 ePub —— 个人电子书制作规范及基本样式表
  3. 这8款数据恢复软件你见过吗?数据恢复软件推荐
  4. protoc ——protubuf编译后的可执行文件命令usage
  5. 5分钟了解什么是自然语言处理技术
  6. 键盘调节台式计算机声音,完美:如何增加键盘上的音量
  7. oracle建表类型,oracle 建表类型以及约束
  8. Unity 下载 国际版 去壳版,有网就行,下载不下来你打我。
  9. python提取pdf表格数据 无边框_Python使用Tabula提取PDF表格数据
  10. HTTP错误代码大全,http网站状态码各代表了什么?