Python学习:8.小项目之登录注册验证
2018-06-18 03:31:39来源:未知 阅读 ()
简介
本次项目登录注册验证是对之前学习知识点的加深学习,这次项目的练习的知识点有函数、判断语句、循环语句、文件操作等。
项目流程
运行代码之后,输出登录或者注册选项。
当选择登录之后,输入用户名密码,如果该用户信息没有注册过,就输出登录失败,如果该用户信息已经注册过,就显示登录成功。
当选择注册之后,输入用户名密码,如果该用户信息没有注册过,就输出注册成功,如果该用户信息已经注册过,就显示用户名已经存在,注册失败。
代码流程
运行代之后首先执行main()函数,mian()函数中接收用户输入的用户名和密码,用户选择登录,就调用loing()函数,将用户输入的信息在和存放用户信息的文件中的信息进行比对,如果有该用户的信息就登录成功,否则失败,用户选择注册,在接收到用户输入的用户名密码之后,调用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()
这次的项目仅仅使用了之前学习的部分知识,比较简单的一个项目,之后会继续加深学习。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:内置函数补充 之 反射
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash