Проверка на ввод и контентом, который ты записал в file.txt. Python

Подскажите, я хочу чтобы при вводе пароля создавался file.txt, пароль записывается в этот файл, но при повторном вводе ты повторяешь данный пароль он тебя приветствует, примерно так ('Вход в систему'). Но когда ты пишешь другой пароль, то он пишет, как то так ('Не верный пароль'), и чтобы он не перезаписывал пароль в файле.

В моем коде file.txt нужно создавать в ручную, ты пишешь пароль он сохраняет его в файл и говорит ('Пароль верен'), при повторном вводе такого же пароля тоже говорит ('Пароль верен'), но когда ты пишешь другой пароль он его в файле перезаписывает и меняет его, но говорит что это ('ошибка'). Да это ошибка, но он не должен менять пароль в файле, а он его меняет.

В Python я еще новичок и только учусь.

pswrd = input('Ввести пароль: ')

with open("passwords.txt", "r") as f:
    data = f.read()
    if pswrd in data:
        print("\nПароль верен")
    else:
        with open("passwords.txt", "w") as f2:
            f2.write(f"{pswrd}")
        print('\nОшибка')

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

Автор решения: nyekitka

Ну вам просто нужна проверка на то, записано ли что-то в файле "passwords.txt". Вы можете его создать изначально пустым, пытаться оттуда считать строчку и если она пустая, то в файле ничего нет, иначе там записан пароль. Либо вы можете не создавать файл и тогда вам нужно проверять существование файла:

  1. Реализация с существующим файлом:
file = open("password.txt", "r")
real_password = file.readline()
file.close()
if real_password == '':
    file = open("password.txt", "w")
    file.write(input("Создайте пароль: "))
    print("Пароль успешно создан")
else:
    password = input("Введите пароль: ")
    if password == real_password:
        print("Пароль верен")
    else:
        print("Пароль неверен")
  1. Реализация без файла
import os.path

if os.path.exists("password.txt"):
    with open("password.txt") as file:
        real_password = file.readline()
        if password == real_password:
            print("Пароль верен")
        else:
            print("Пароль неверен")
else:
    file = open("password.txt", "w")
    file.write(input("Создайте пароль: "))
    print("Пароль успешно создан")
→ Ссылка