Проверка на ввод и контентом, который ты записал в 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 шт):
Ну вам просто нужна проверка на то, записано ли что-то в файле "passwords.txt". Вы можете его создать изначально пустым, пытаться оттуда считать строчку и если она пустая, то в файле ничего нет, иначе там записан пароль. Либо вы можете не создавать файл и тогда вам нужно проверять существование файла:
- Реализация с существующим файлом:
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("Пароль неверен")
- Реализация без файла
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("Пароль успешно создан")