此函数检索csv文件中的所有信息,并将其复制到名为lines
的列表中。然后,它将搜索数据库(包含帐户信息),并找到正确的用户名和密码。
但是,当前我的程序无法在username
中找到password
和lines
,而是在数据库末尾打印记录。任何想法为什么会发生这种情况?
def Changer(user_information, weight):
r = csv.reader(open('AccountsTest.csv'))
username = user_information[0][0]
password = user_information[0][1]
lines = list(r)
for n, line in enumerate(lines):
if [username, password] == list(line):
break
print (lines[n])
当我print username and password
时,输出“ dom”(正确)。但是,当我print (lines[n])
时,当我希望它输出“ dom”记录时,将输出CSV文件中的最终记录。
我的CSV文件的结构如下:
username, password, weight, goal, workout
在此示例中,只有前两个(username
和password
)很重要
我要复制的CSV文件中的记录如下
[['dom', 'dom', '70', 'strong'],[['Bench Press', 'Chest Press Machine', 'Incline Chest Press Machine', 'Incline Bench Press'],['test', 'test']]]
答案 0 :(得分:1)
您正在将两个元素[username, password]
的列表与五个元素[username, password, goal, weight, workout]
的列表进行比较。尝试
if [username, password] == line[:2]
从列表中切出用户名和密码
答案 1 :(得分:0)
似乎list(line)永远不等于[username,password]。 找不到其他可疑代码。
我认为您应该检查的几件事:
GL