2 回答
TA贡献1815条经验 获得超13个赞
问题出在这一行if password_verify in line:。如果 password_verify 是空字符串或空格,或该行中的任何其他字符,则为真。密码是否是该行中的最后一个条目?喜欢4s3GSs?那为什么不明确检查呢?
def checkconnect():
password_verify = passwordvar.get()
with open('file.txt') as f:
for line in f:
my_list = line.split()
global dwm
global ip_1
global ip_2
ip_1 = my_list[0]
ip_2 = my_list[1]
dwm = my_list[2]
if password_verify == dwm:
loginscreen()
else:
global fail_label
fail_label = tk.Label(frame, text="Λάθος κωδικός-Προσπάθησε ξανά!", bg='#80c1ff')
fail_label.pack()
TA贡献1909条经验 获得超7个赞
我希望我正确理解了你的问题。
所以你试图只得到精确匹配的行。所以如果该行是“foo”那么它不应该匹配“fo”?
如果你说:
line = "foo"
print("fo" in line) # True
print("fo" == line) # False
print("foo" in line) # True
print("foo" == line) # True
因此 in 语句查看字符串是否存在于行中。== 运算符会检查两个字符串是否完全相同。
添加回答
举报
