如何在csv文件中检查字符串以验证python中的用户

如何在csv文件中检查字符串以验证python中的用户,python,csv,Python,Csv,我一直在努力解决如何在csv文件中查找匹配的单词,例如用户帐户详细信息 我已经做的是创建两个csv文件,其中一个是用户名,另一个是密码,将它们放入python中,然后创建一个脚本让用户登录,但是如果csv文件中有多个用户名,我无法让它只搜索一个用户名 这是我的密码: import csv #imports and loads usernames and passwords usernames = [] passwords = [] infile = open("usernames.csv",

我一直在努力解决如何在csv文件中查找匹配的单词,例如用户帐户详细信息

我已经做的是创建两个csv文件,其中一个是用户名,另一个是密码,将它们放入python中,然后创建一个脚本让用户登录,但是如果csv文件中有多个用户名,我无法让它只搜索一个用户名

这是我的密码:

import csv

#imports and loads usernames and passwords
usernames = []
passwords = []

infile = open("usernames.csv",'r')
reader=csv.reader(infile)
for i in reader:
    usernames.append(i)
infile.close()

infile = open("passwords.csv",'r')
reader=csv.reader(infile)
for i in reader:
    passwords.append(i)
infile.close()

#the log in script
def login():
    print("Please enter your username:")
    userlogin=input()
    print("Please enter your password:")
    passlogin=input()
    if userlogin in usernames and passlogin in passwords:
        print("Welcome, " + userlogin)
    else:
        print("Sorry, that's not a valid login")

感谢您提供的任何帮助

我认为您的方法存在缺陷

您不能将任何用户名与任何密码组合

如果您要以这种方式使用代码

一个密码将适用于所有用户

尝试创建一个字典或某种映射,其中将检查单个密码而不是所有现有密码

如果您想添加它们,我建议使用pandas数据帧,它将为您提供结构,并且检查也将更容易

import pandas as pd

df = pd.DataFrame()

df['usernames'] = pd.read_csv('usernames.csv')
df['passwords'] = pd.read_csv('passwords.csv')

if df[(df['usernames'] == your_user_name) & 
(df['passwords'] == your_password)].empty() is not True:
  print("username and password present")
else:
  print("username and password not present")

您的csv文件看起来像什么?为什么有两个单独的用户名和密码文件?我认为会有一个文件在同一行中同时包含用户名和相应的密码。否则,您如何知道哪个密码与哪个用户名匹配?将它们存储在字典中也比两个单独的列表变量要好。如何将用户名与密码配对?为什么你有两个单独的文件?如果您不打算利用CSV文件,那么使用CSV文件还有什么意义?