Я хочу разбить строки в файле на 2 отдельных (2-мерных) массива.
Например. Имя пользователя: массив паролей (users[user][pass])
Это код, который я придумал до сих пор:
with open('userlist.txt', 'r') as userlist:
for line in userlist:
user, pwd = line.strip().split(':')
users = [
[user, pwd]
]
Пожалуйста помоги. В этом коде в настоящее время перечислены только все имена пользователей и все пароли. Но я хочу иметь возможность вызывать имя пользователя с паролем по тому же индексу (например, print(users[1][1]))
Вы можете использовать user = line.strip().split(':')[0] и pwd = line.strip().split(':')[1]ЕСЛИ, ваш первый столбец в файле всегда является пользователем, а второй - паролем.
Пожалуйста, предоставьте образцы ввода и вывода. array (users[user][pass]) довольно неясен.
Вы хотите [[user1, user2], [pwd1, pwd2]] или [[user1, pwd1], [user2, pwd2]]?






Следующего должно быть достаточно. Обратите внимание, что вам нужно инициализировать внешнюю структуру данных до цикла и заполнить ее в цикле:
with open('userlist.txt', 'r') as userlist:
users = []
for line in userlist:
users.append(line.strip().split(':'))
который можно сократить до:
with open('userlist.txt', 'r') as userlist:
users = [line.strip().split(':') for line in userlist]
я бы посоветовал вам сделать это так
file=open('userlist.txt', 'r')
line=file.readlines()
users=[l.strip.split(':') for l in line]
при этом он берет строку "uname": "pass", разделяет ее на ":", что дает вам ["uname","pass"], и сохраняет ее в каждом индексе массива пользователей.
теперь вы можете получить доступ к имени пользователя через [users[i][0]] и паролям через users[i][1]
Как вы описали в своем вопросе, вы хотите добавлять новый список [пользователь, пароль] к существующему списку всех пользователей каждый раз, когда вы перебираете список пользователей.
Сделать это можно так:
users = []
with open('userlist.txt', 'r') as userlist:
for line in userlist:
user, pwd = line.strip().split(':')
users.append([user, pwd])
Но для этой ситуации есть лучшее решение - словари:
users = {}
with open('userlist.txt', 'r') as userlist:
for line in userlist:
user, pwd = line.strip().split(':')
users[user] = pwd
Не могли бы вы прислать пример строки из userlist.txt?