Почему мой код постоянно перезаписывает логин и пароль, а не заводит новый?

def choices():
print("Что делаем?")
choice = int(input("Для регистрации выберите - 1    Для входа в систему выбирете - 2 "))
if choice == 1:
   return getdetails()
elif choice == 2:
   return checkdetails()
else:
   raise TypeError

def getdetails():
    print("Напишите")
    name = input("Логин: ")
    password = input("Пароль: ")

    with open ("autoriz.txt","r") as file:
        if name in file:
            print("Такой аккаунт уже существует. Введите другие данные")
        else:
            file= open("autoriz.txt",'w')
            file.write(f"{name} {password} \n")
            print('Вы успешно зарегистрировались (Вы не видите "None") ')
    


def checkdetails():
    print("Напишите")
    name = str(input("Логин: "))
    password = str(input("Пароль: "))
    f = open("autoriz.txt",'r')
    info = f.read()
    info = info.split()
    if name in info:
        index = info.index(name) + 1
        usr_password = info[index]
        if usr_password == password:
            return "Вы успешно вошли в аккаунт, " + name
        else:
            return "Данные введены неверно"
    else:
        return "Данные не найдены. Пожалуйста, зарегистрируйтесь."


print(choices())

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

Автор решения: Огненные игры

Нужно изменить:

file= open("autoriz.txt",'w') 

Открывает как новый файл.

На:

file= open("autoriz.txt",'a') 

Открывает для дополнительной записи.

→ Ссылка