import json

class RegLog():
    """Класс регистрации/логина"""
    def __init__(self, **user):
        self.user = user
    #Проверка наличия файла пользователя
    def check_storge(self, user_file):
        user_file1 = user_file
        try:
            with open(user_file1) as f_obj:
                read_user_file = json.load(f_obj)
        except FileNotFoundError:
            return None
        else:
            return read_user_file
    #регистрация пользователя с созданием новго файла пользователя
    def register(self):
        nickname = input('Введи ник ')
        password = input('Введи пароль ')
        user_data = {'nickname': nickname, 'password': password}
        user_file = nickname + '.txt'
        with open(user_file, 'w') as f_obj:
            json.dump(user_data, f_obj)

    #старт программы
    def LogIn(self):
        while True:
            work_begins_here = input('Введи login или reg ')
            if work_begins_here == 'login':
                nickname = input('Введи свой ник ')
                password = str(input('Введи свой пароль '))
                grub_user_data = [nickname, password]
                user_file = nickname + '.txt'
                check_storge = self.check_storge(user_file)
                if check_storge:
                    user_file = nickname + '.txt'
                    with open(user_file) as f_obj:
                        read_user_file = json.load(f_obj)
                        get_user_data_from_file = [read_user_file['nickname'], read_user_file['password']]
                        if grub_user_data == get_user_data_from_file:
                            print('Велкам '+ read_user_file['nickname'])
                        else:
                            print('Введен неверный логин или пароль')
                else:
                    print('Такого пользователя не существует')
            if work_begins_here == 'reg':
                self.register()

user = RegLog(nickname='', password='')
user.LogIn()