python连接数据库实现登录注册_python实现非数据库模式的用户注册和登录

码农公社  210.net.cn  210= 1024  10月24日一个重要的节日--码农(程序员)节

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 == "1":

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 == "2":

user = input("请输入你的用户名:")

pwd = input("请输入你的密码:")

if user_exsit(user):

print("用户名已经存在,注册失败!")

else:

ret = register(user, pwd)

if ret:

print("注册成功!")

else:

print("注册失败!")

main()

上述基本实现了python非数据库模式的用户注册和登录的模拟。

参考自https://www.cnblogs.com/june-L/p/11601069.html,轻度完善

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值