python实现用户登录、注册实例
python面向函数式编程,模拟用户登录验证、注册的代码实现。
主要有以下两个文件:
1、user.txt文档文件,相当于数据库的用户信息表,主要是记录用户名和密码。
注意:1)此文档需要与.py文件放在同一个路径下。
2)用户名、密码在存储时,是以$符号区别开。

2、模拟用户登录验证、注册的代码实现。
#!/usr/bin/env python
# -*- coding:utf-8 -*- def login(username, password):
"""
用于用户登录验证
:param username: 用户名
:param password: 密码
:return: True,登录成功;False,登录失败。
"""
with open("user.txt", "r", encoding="utf-8") as f:
for line in f:
line = line.strip() #默认strip无参数,会去掉首尾空格、换行符;有参数则去除指定值
line_list = line.split("$") #以$符号提取用户名和密码
if username == line_list[0] and password == line_list[1]:
return True
else:
return False def register(username, password):
"""
用户注册
:param username:用户名
:param password:密码
:return: True,注册成功
"""
with open("user.txt", "a", encoding="utf-8") as f:
temp = "\n" + username + "$" + password # "\n"换行符
f.write(temp)
return True def user_exsit(username):
"""
注册时,判断用户名是否存在
:param username:用户名
:return:True, 用户名已存在
"""
with open("user.txt", "r", encoding="utf-8") as f:
for line in f:
line = line.strip()
line_list = line.split("$")
if username == line_list[0]:
return True
return False def main():
print("欢迎您使用本系统,请输入你进行操作选项。")
inp = input("1.登录;2.注册。请输入编号: ")
if inp == "":
times = 1
while True:
if times == 4:
print("输入3次用户名或密码不正确,请在一小时后再重试。")
break
user = input("请输入你的用户名:")
pwd = input("请输入你的密码:")
is_login = login(user, pwd)
if is_login:
print("恭喜您!系统登录成功。")
else:
print("用户名或密码不正确。")
times += 1
if inp == "":
user = input("请输入你的用户名:")
pwd = input("请输入你的密码:")
if user_exsit(user):
print("用户名已经存在,注册失败!")
else:
ret = register(user, pwd)
if ret:
print("注册成功!")
else:
print("注册失败!") main()
python实现用户登录、注册实例的更多相关文章
- JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- android安卓Sqlite数据库实现用户登录注册
看了很多别人写的安卓SQlite数据的操作代码,一点也不通俗易懂,我觉得我写的不错,而且安卓项目也用上了,所以在博客园里保存分享一下!建立一个类 并继承SQLiteOpenHelper public ...
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- Node.js_express_中间件 middleware_登录/注册实例源代码
静态资源: 都写死了的资源,如 css,html 解析规则: 所有路由和中间件都在一个数组中,js 引擎会按照代码先后顺序添加路由和中间件 当请求发送到服务器时,服务器获取当前的请求信息(请求方式.请 ...
- JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- Java Spring+Mysql+Mybatis 实现用户登录注册功能
前言: 最近在学习Java的编程,前辈让我写一个包含数据库和前端的用户登录功能,通过看博客等我先是写了一个最基础的servlet+jsp,再到后来开始用maven进行编程,最终的完成版是一个 Spri ...
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
http://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...
- javaweb(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- vue新手入门之使用vue框架搭建用户登录注册案例,手动搭建webpack+Vue项目(附源码,图文详解,亲测有效)
前言 本篇随笔主要写了手动搭建一个webpack+Vue项目,掌握相关loader的安装与使用,包括css-loader.style-loader.vue-loader.url-loader.sass ...
- 纯JSP实现用户登录注册,记事本
没有美化,没有格式,没有样式 1.JSP登陆注册 将用户注册的信息保存在application对象中,用于登录时的验证. 首页如下: 如果未登录,在 session 中找不到 currentUser ...
随机推荐
- fiddle4 弱网测试
下载:https://www.telerik.com/download/fiddler/fiddler4 参考:https://blog.csdn.net/qq_28905427/article/de ...
- keil 编译器V6 定义函数在ram中运行-和在指定地址定义常量
之前一直是用v5编译,编译速度慢,换成V6编译速度差不多快50% ,而且arm后期只维护v5编译器不在更新v5编译器.切换到V6编译器大势所趋,把之前v5且换到v6需要如下更改: 1. CMSIS包需 ...
- linux 判断一个用户是否存在
#!/bin/bash read -p "please input a username:" username >&; then echo "user ex ...
- mysql 5.7 修改root密码允许远程连接
1.修改root密码(其他用户类似) 试过网上看的一些 在mysql数据库执行 update user set password='新密码' where user='root' 执行说找不到字段, ...
- dotnet core 之 CORS使用示例
这里列举几个经过验证的可用的CORS使用示例, 方便在需要的时候可以直接使用 示例1 #region snippet2 public void ConfigureServices(IServiceCo ...
- C#读写设置修改调整UVC摄像头画面-对比度
有时,我们需要在C#代码中对摄像头的对比度进行读和写,并立即生效.如何实现呢? 建立基于SharpCamera的项目 首先,请根据之前的一篇博文 点击这里 中的说明,建立基于SharpCamera的摄 ...
- C#里面如何判断一个Object是否是某种类型
第一种方法 var isA = oldObject.GetType() == typeof(Dictionary<string, string>) 第二种方法 var isB = oldO ...
- (转)二步实现 远程连接 阿里云SqlServer 2012 数据库服务器
前言:在使用 阿里云 上的一些产品时,遇到不少坑. 安装IIS 时,遇到 因买的配置过低,虚拟内存不足,而导致 IIS 总是安装失败: 现在 在上面安装了个 Sql Sever 2012,远程老是 不 ...
- MySQL基础-2
目录 配置文件的使用 表的分类--数据库引擎 简单的表的增删改查(CRUD) 创建表的完整写法 Mysql中的数据类型 数字类型 字符串类型 枚举和集合 时间和日期 配置文件的使用 大家发现每次进入m ...
- python爬虫---CrawlSpider实现的全站数据的爬取,分布式,增量式,所有的反爬机制
CrawlSpider实现的全站数据的爬取 新建一个工程 cd 工程 创建爬虫文件:scrapy genspider -t crawl spiderName www.xxx.com 连接提取器Link ...