class NotNameError(Exception):
def __init__(self, message, input_data = None):
self.message = message
self.input_data = input_data
def __str__(self):
return self.message
class NotEmailError(Exception):
def __init__(self, message, input_data = None):
self.message = message
self.input_data = input_data
def __str__(self):
return self.message
def read_line(line):
print(f'{line}')
split_text = line.split(' ', 2)
if len(split_text) == 3:
name, mail, age = split_text
else:
raise ValueError('Пропущено одно или несколько значений')
try: age = int(age)
except ValueError: raise ValueError('Ошибка в значении возраста')
if age < 10 or age > 99:
raise ValueError('Недопустимое значение возраста')
if name.isalpha() == False:
raise NotNameError('Ошибка имени (Недопустимое значение имени)')
if '@' not in mail or '.' not in mail:
raise NotEmailError('Ошибка электронной почты (Недопустимое значение для электронной почты)')
return True
good_acc = []
bad_acc = []
text = open('registrations_.txt', 'r', encoding="utf-8")
for line in text.read().splitlines():
try:
if read_line(line):
good_acc.append(line)
except Exception as error:
bad_acc.append(f'{line} | {error}')
with open('registrations_good.log', 'w', encoding='utf-8') as f:
f.write('\n'.join(good_acc))
with open('registrations_bad.log', 'w', encoding='utf-8') as f:
f.write('\n'.join(bad_acc))