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 語句查看字符串是否存在于行中。== 運算符會檢查兩個字符串是否完全相同。
添加回答
舉報