Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- # -*- coding: UTF-8 -*-
- import getpass
- def getPasswordByLogin(login):
- """Считывает из файла пары логин/пароль и возвращеат пароль по имени пользователя"""
- saved_passwords = {}
- try:
- with open('Пароли.txt', 'r') as f:
- saved_passwords = dict((line[:-1].split('\t') for line in f.readlines()))
- except:
- pass
- return saved_passwords.get(login)
- def whod():
- """Процедура аутентификации
- В случае успешного прохождения возвращает имя пользователя
- """
- print('\n-----Вход -----')
- login = raw_input('Введите логин: ')
- password = getpass.getpass('Введите пароль: ')
- print("Проверка данных...")
- saved_password = getPasswordByLogin(login)
- if saved_password is not None:
- if saved_password == password:
- print("Всё верно. Добро пожаловать!")
- return login
- else:
- print("Неверный пароль")
- return None
- print("Вас не знаю")
- return None
- def registr():
- """Процедура регистрации
- В случае успешного прохождения возвращает имя пользователя
- """
- print("\n-----Регистрация -----")
- login = raw_input('Придумайте логин: ')
- password = getpass.getpass('Придумайте пароль: ')
- print("Проверка данных...")
- if getPasswordByLogin(login) is not None:
- print ("это имя пользователя уже занято")
- return None
- print("Регистрация пользователя в системе...")
- try:
- with open('Пароли.txt', 'a') as f:
- f.write("{0}\t{1}\n".format(login, password))
- except:
- print ("Ошибка сохранения учетных данных")
- return None
- print ("Регистрация завершена. Вы можете войти в систему с новыми учетными данными.")
- # собственно программа
- print('Запуск программы...')
- userName = None
- while True:
- if userName is None:
- print('\n-----Главное меню -----')
- print('1 Вход')
- print('2 Регистрация')
- print('3 Выход')
- else:
- print('\n-----Здравствуйте, {0} -----'.format(userName))
- print('1 Вход под другим пользователем')
- print('2 Регистрация другого пользователя')
- print('3 Выход')
- input_input = raw_input("Ваш выбор?: ")
- if len(input_input) > 0 and input_input.upper()[0] == '1':
- newUserName = whod()
- if newUserName is not None:
- userName = newUserName
- continue
- if len(input_input) > 0 and input_input.upper()[0] == '2':
- newUserName = registr()
- if newUserName is not None:
- userName = newUserName
- continue
- if len(input_input) > 0 and input_input.upper()[0] == '3':
- break
- print('Неизвестная команда')
- print('До новых встреч!')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement