如何从CSV文件加载用户名?

时间:2019-02-27 20:04:00

标签: python file

我在学校学习了有关使用python创建文件的知识。我创建了一段代码,您可以在其中创建用户名和密码,然后将其保存到csv文件中。您还可以登录另一个选项。它要求您输入用户名,如果输入错误,则会显示“找不到用户名”。无论输入什么(即使它是正确的),它都会显示“找不到用户名”。 这是代码的主要部分:

Log = input("Enter Choice here: ")
if Log == "Log In" or Log == "log in" or Log == "Log in" or Log == "log In":
    Data = open("F:\\'Filename'.csv", "r")
    SavedUser = Data.readline()
    Username = input("Username: ")
    if Username == SavedUser:
        print("Welcome", Username, "!")
        Password = input("Password: ")
        if Password == Data.readline():
            print("It works")

谢谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您的CSV文件可能未正确读取。 Python有一个csv库,可以正确解析CSV文件。您可以做的是将CSV文件读取到字典中,然后比较用户名和密码。

import csv
action = input("Enter Choice here: ")
if action.lower() == "Log In".lower(): #Convert both strings two lowercase and then compare
    reader = csv.reader(open('demo.csv', 'r')) #parsing the csv file correctly
    user_dict = dict(reader) #converting iterable reader directly to a dictionary
    #{'abc': 'abc123', 'username': 'password'}
    username_input = input("Username:")
    if username_input in user_dict: #check if username exists as a key in the dictionary
        print("Welcome", username_input, "!")
        password_input = input("Password: ")
        if password_input == user_dict[username_input]:
            print("It works")