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