Как сделать проверку одинаковых строк в txt python

n = 1
while n > 0:
    new_num = int(input('Новый контакт:'))
    fileW = open('list.txt', 'a')
    fileR = open('list.txt', 'r')
    for line in fileR.readline():
        if line == new_num:
            print("Уже отписан")
    fileW.write(f"{new_num}\n")
    fileW.close()
    fileR.close()

Не могу понять, как сделать проверку, на то что уже есть такая строка в файле. При том что во время работы программы строки добавляются


Ответы (1 шт):

Автор решения: Сергей
new_num = True


while new_num: # Выход из цикла по нажатии клавиши "Ввод"

    flag = 0
    new_num = input('Новый контакт:') # int не нужен
    if not new_num:
        break
    # Так открытый файл закроется автоматом
    with open('list.txt', 'r') as f:
        for line in f:
            if line == f'{new_num}\n':   # \n нужна
                print("Уже отписан")
                flag = 1
                break

    if not flag:
        with open('list.txt', 'a') as f:
            f.write(f'{new_num}\n')
            print("Записали новый контакт")
→ Ссылка