Как исправить ошибку при чтении цикла из txt файла

Может ли кто-нибудь дать совет по текущей проблеме, с которой я столкнулся. Я пишу программу для назначения задач конкретным пользователям. Все пользователи хранятся во внешнем txt файле. Я бы хотел, чтобы хотя я вошел в программу как один пользователь, я хотел бы ввести имя пользователя другого пользователя и назначить им задачи. Проблема, с которой я сталкиваюсь, заключается в том, что я прошу пользователя ввести имя пользователя, которому они хотят назначить задачу, чтобы найти только последнее имя пользователя в txt файле. Он возвращает сообщение об ошибке, которое я написал, если имя отсутствует. Он только находит последнего пользователя в txt файле

Текстовый файл выглядит следующим образом:

admin, adm1n

бобби, bobby1

Джейк, Джейк

т.е. admin - это имя пользователя в текстовом файле, а adm1n - пароль.

Код принимает только последнее имя пользователя jake и не находит остальных, и когда я добавляю новых пользователей, он находит только последнее добавленное.

Мой код выглядит следующим образом:

with open ('user.txt', 'a')as username:
     task = input("Please enter the username of the person the task is assigned to.\n")
            while task not in username:
                task = input("Username not registered. Please enter a valid username.\n")

1 ответ

Решение

Правильный код будет:

with open( 'user.txt' ) as fin :
    usernames = [i.split(',')[0] for i in fin.readlines() if len(i) > 3]

task = input ('...' )
while task not in usernames :
    task = input( ' ... ' )

Я не копировал сообщения, можете сделать сами.

Другие вопросы по тегам