Почему мой код постоянно перезаписывает логин и пароль, а не заводит новый?
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')
Открывает для дополнительной записи.