You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

大一学生求助:无需MySQL/Django的Python登录注册表单开发入门

纯Python实现登录/注册表单(无数据库/框架)

既然你只掌握Python,又不想用MySQL、Django这类工具,那用本地JSON文件存储数据是最适合的方案——完全依赖Python自带模块,不用装任何额外东西,就能实现数据持久化(关闭程序后数据不会丢失)。

下面是分步实现的思路和完整代码:

核心逻辑拆分

  1. 用json模块读写本地文件,保存用户信息
  2. 注册功能:收集姓名、性别、班级,检查姓名是否重复后写入文件
  3. 登录功能:根据输入的姓名查找用户,找到就展示信息

完整代码实现

import json
import os

# 加载本地存储的用户数据
def load_users():
    # 如果用户文件存在就读取,不存在就返回空列表
    if os.path.exists("users.json"):
        with open("users.json", "r", encoding="utf-8") as f:
            return json.load(f)
    return []

# 保存新用户到文件
def save_user(new_user):
    users = load_users()
    # 检查姓名是否已被注册
    for user in users:
        if user["姓名"] == new_user["姓名"]:
            return False  # 姓名重复,保存失败
    users.append(new_user)
    # 写入文件,ensure_ascii=False保证中文正常显示
    with open("users.json", "w", encoding="utf-8") as f:
        json.dump(users, f, ensure_ascii=False, indent=4)
    return True

# 注册功能
def register():
    print("\n=== 用户注册 ===")
    name = input("请输入姓名:").strip()
    gender = input("请输入性别:").strip()
    cls = input("请输入班级:").strip()
    
    # 简单校验,避免空输入
    if not name or not gender or not cls:
        print("姓名、性别、班级不能为空!")
        return
    
    user_info = {
        "姓名": name,
        "性别": gender,
        "班级": cls
    }
    
    if save_user(user_info):
        print("注册成功!")
    else:
        print("该姓名已被注册,请更换姓名重试!")

# 登录+展示信息功能
def login():
    print("\n=== 用户登录 ===")
    name = input("请输入姓名:").strip()
    if not name:
        print("姓名不能为空!")
        return
    
    users = load_users()
    # 遍历查找匹配的用户
    for user in users:
        if user["姓名"] == name:
            print("\n=== 用户信息 ===")
            print(f"姓名:{user['姓名']}")
            print(f"性别:{user['性别']}")
            print(f"班级:{user['班级']}")
            return
    print("未找到该用户,请先注册!")

# 主菜单交互
def main():
    while True:
        print("\n=== 登录/注册系统 ===")
        print("1. 注册")
        print("2. 登录")
        print("3. 退出")
        choice = input("请选择操作(1/2/3):").strip()
        
        if choice == "1":
            register()
        elif choice == "2":
            login()
        elif choice == "3":
            print("退出系统,再见!")
            break
        else:
            print("输入无效,请重新选择!")

if __name__ == "__main__":
    main()

使用说明

  • 运行代码后,会自动在当前目录生成users.json文件,所有用户数据都存在这里
  • 注册时会自动检查姓名是否重复,避免同一个姓名多次注册
  • 登录只需输入姓名,系统会自动匹配并展示对应的用户信息
  • 全程只用Python内置模块,没有依赖任何第三方工具或数据库

内容的提问来源于stack exchange,提问作者kkranezz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 00:50:40