我有这个文本文件,其中包含:
Ryan#Male#Ryan123#Ryan321#
Lina#Female#Lina123#Lina321#
顺序是姓名#性别#用户名#密码
。
user = username.get() //from tkinter entry
pass = password.get()
counter = IntVar()
counter = 0
file = open("user.txt", "r")
for login in file:
login = login .split('#')
if user == login [2]:
counter += 1
if pass== login [3]:
counter += 1
file.close()
if counter == 2:
//go to next page
else:
print "wrong username or password!"
这行得通,但是,当我尝试打印 login[2] 时,它返回了;
Ryan123
Lina123
当我使用 Ryan
作为用户名时,我仍然可以使用 Lina
的密码登录。如何让它逐行检查 .txt 文件中的内容?
我的意思是,首先检查这一行:
Ryan#Male#Ryan123#Ryan321#
当找不到登录信息时,它将继续到下一行。
最佳答案
密码问题是因为你从来没有在行之间重置计数器。但它可以在不计算条件的情况下更简单地完成:
file = open("user.txt", "r")
for login in file:
login = login.split('#')
if user == login[2] and password == login[3]:
print 'Correct username/password'
break
else:
print 'Invalid username/password'
顺便说一句,pass
是 Python 中的一个关键字,因此最好为变量名使用其他名称。
关于python - 从文本文件中逐行读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35211643/