如何读取文本文件实现密码验证?代码始终返回错误结果求助
密码验证程序修复方案
你的代码问题出在没有正确读取文件内容:open()函数返回的是文件对象,不是文件里的文本内容。直接拿用户输入的字符串和文件对象比较,永远不会相等,所以始终返回“incorrect”。
修复步骤:
- 用
read()方法读取文件的实际文本内容 - 用
strip()去除内容首尾的换行、空格(避免文件内容带换行导致匹配失败) - 用
with语句管理文件,自动关闭资源(更安全规范)
修复后的代码:
registeredPasswordTXT = "password.txt" # 安全读取文件内容并处理空白字符 with open(registeredPasswordTXT, 'r') as file: registeredPassword = file.read().strip() mainPASSWORD = input("Enter password now: ") if mainPASSWORD == registeredPassword: print("correct") else: print("incorrect")
关键说明:
with open(...) as file:代码块结束后自动关闭文件,避免手动关闭遗漏导致资源浪费file.read().strip():read()获取文件全部文本,strip()去掉内容首尾的换行符、空格等,确保和用户输入的纯字符串完全匹配- 现在
registeredPassword存储的是文件里的"1234",可以正确和用户输入做比较
内容的提问来源于stack exchange,提问作者TrickyTaco11
相关产品推荐
相关产品推荐

