Как решить проблему с чтением l oop из txt файла - PullRequest
0 голосов
/ 26 января 2020

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

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

admin, adm1n

bobby, bobby1

jake, jake1

т.е. - admin - это имя пользователя в txt-файле и 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 Ответ

1 голос
/ 26 января 2020

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

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( ' ... ' )

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

...