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

如何在Python中验证用户输入与reg_login.txt内的账号密码匹配?

实现账号密码验证的Python代码

原代码问题分析

  • 语法错误:比较值需用==而非赋值符号=,你写的if语句逻辑完全错误,未正确读取和解析文件中的账号密码。
  • 缺少循环逻辑:无法实现“不匹配就重新输入”的需求。
  • 文件操作不规范:未正确关闭文件,易引发资源泄漏。

正确实现代码

先解析reg_login.txt中的账号密码对,再通过循环持续验证用户输入:

# 解析账号密码文件,提取所有有效账号密码对
def load_credentials(file_path):
    credentials = set()
    with open(file_path, 'r') as f:
        for line in f:
            line = line.strip()
            if not line:
                continue
            # 分割每行的用户名和密码部分
            parts = line.split(',')
            username_part = parts[0].strip()
            password_part = parts[1].strip()
            # 提取实际的用户名和密码值
            username = username_part.split('=')[1].strip()
            password = password_part.split('=')[1].strip()
            credentials.add((username, password))
    return credentials

# 主验证逻辑
credentials = load_credentials('reg_login.txt')

while True:
    username = input("What is your username?: ")
    password = input("What is your password?: ")
    # 检查输入的账号密码是否匹配
    if (username, password) in credentials:
        print("登录成功!")
        break
    else:
        print("用户名或密码错误,请重新输入。")

代码说明

  • load_credentials函数:读取文件并逐行解析,将每对账号密码以元组形式存入集合(集合查询效率更高)。
  • while True循环:持续接收用户输入,直到匹配成功才退出循环。
  • with语句操作文件:自动处理文件的打开与关闭,避免资源泄漏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 10:17:08