将数据从txt文件传输到数组(列表索引超出范围)

时间:2018-09-03 00:12:56

标签: python arrays python-3.x

我在将数据从文本文件传输到数组中时遇到问题。 当我尝试将文本文件中的数据放入数组时,它会出现列表索引超出范围的错误。我只需要一种简单的方法即可将用户名和密码传输到2个不同的数组中。

username = []
password = []

lr = open("login.txt","r")
loginr = "temp"
  while loginr!="":
    loginr = lr.readline()
    field = loginr.split(",")
    username.append(field[0])
    password.append(field[1])
print(username+password)
lr.close()

文本文件的布局为

simple,123,
legit,scary,
smite,Oxygen31,

1 个答案:

答案 0 :(得分:0)

您需要确保login.txt文件包含username,password,的所有行。除此之外,我建议使用with open()而不是open()close(),然后您可以遍历文件对象的行或使用列表推导来提取用户名和密码。例如:

# loop approach
with open('login.txt', 'r') as f:
    username = []
    password = []    
    for line in f:
        line = line.split(',')
        username.append(line[0])
        password.append(line[1])

# list comprehension approach
with open('login.txt', 'r') as f:
    data = [line.split(',') for line in f]
    username = [x[0] for x in data]
    password = [x[1] for x in data]