Как исправить ошибку при чтении цикла из 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( ' ... ' )
Я не копировал сообщения, можете сделать сами.