所以我正在制作一个基本的临时登录验证,只需要一个基本的文本文件来“假装”,什么应该返回True不是。用户名检查有效,但不是密码检查
@staticmethod
def validate_login(filename,username,password):
file = open(filename,'r')
file.readline()
for line in file:
i = [i for i, char in enumerate(line) if char == '|']
print username == line[i[0] + 2:i[1]-1]
print password == line[i[1] + 2:]
print password
print line[i[1] + 2:]
if username == line[i[0] + 2:i[1]-1] and password == line[i[1] + 2:]:
file.close()
print "Login Successful."
return True
file.close()
print "Failed to login. Invalid username or password."
return False
这是输出结果。密码与文本文件完全匹配,但返回false。用户名返回true。究竟是什么问题?这让我疯了。
True <--- username matched correctly returns true
False <---passwords apparently don't match, returns false.
DopeFiend97 <--password
DopeFiend97
答案 0 :(得分:1)
必须使用.strip()函数删除行尾的无法预料的字符。