Нужна помощь в получении информации из файла .txt, но только если введенное слово уже существует, используя Python - PullRequest
0 голосов
/ 13 февраля 2020

Поэтому мне нужно проверить, существует ли имя пользователя в файле .txt. Если это так, он должен напечатать строку, содержащую имя. Если этого не произойдет, нужно добавить имя.

Итак, я дошел до того, что скопировал имя в файл .txt, но он также напишет имя, если оно уже существует. Что он не должен делать.

Это текущий код, который у меня есть:

f = open("list_users.txt", "a+")
name = input('Enter your username: ')
if name in f:
    print('true')
else:
    f.write(name)
    f.write('\n')
f.close()

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

Ответы [ 2 ]

2 голосов
/ 13 февраля 2020

этот код не читает файл, он просто открывает его

name = input('Enter your username: ')
with open('list_users.txt', 'a+') as f:
    users = f.read()
    if name in users:
        print('true')
    else:
       f.write(naam)
       f.write('\n')
0 голосов
/ 13 февраля 2020

Следующая строка - это проблема.

if name in f:

Здесь вы проверяете, находится ли name в «объекте файла», а не проверяется в строках.

Измените код следующим образом это.

name = input('Enter your username: ')
with open("list_users.txt", "r+") as f:
    for line in f.readlines():
        if name in line:
            print('true')
            break

    f.write(name + '\n')
...