两个相同的字符串不等于python

时间:2018-02-18 01:41:33

标签: python tkinter

 def login():
    contents = {}
    with open("pwdFile.txt") as f:
      for line in f:
        split = line.split("|")
        contents[split[0]]= ",".join(split[1:])
      if userName.get() in contents:
        print("Username exist")
        if contents[userName.get()] == pwd.get():
          print("logged in")


print(contents)
print(contents[userName.get()])
print(pwd.get())

此代码正在从文件中读取以检查文件中存储的密码是否与输入的密码匹配。两个密码相同但是它们不匹配因此if contetns == pwd.get未执行。我是使用tkinter并从Entry()获取pwd并将其传递给login()函数。

这是从中读取的文本文件: 詹姆斯| PWD

1 个答案:

答案 0 :(得分:1)

每行末尾都有空格,因此它们最终位于pwd。 使用以下方法摆脱它们:

pwd.strip()

请注意,如果任何密码都包含前导空格或尾随空格,它可能无法正常工作,但您不应该使用纯文本密码,对吧?