Я пытаюсь разобрать список адресов электронной почты, чтобы удалить имя пользователя и символ «@», оставив только имя домена.Как уловить «разделенные» исключения в python?
Пример: [email protected] Желаемый результат: gmail.com
Исполнив это с помощью следующего кода:
for row in cr:
emailaddy = row[0]
(emailuser, domain) = row[0].split('@')
print domain
, но мой вопрос, когда я сталкиваюсь с неправильно форматированный адрес электронной почты , Например, если строка содержит «AAAAAAAAA» (вместо действительного адреса электронной почты) программа падает с ошибкой
(emailuser, domain) = row[0].split('@')
ValueError: need more than 1 value to unpack.
(как и следовало ожидать), а не проверять все адреса электронной почты для их действий, я бы скорее просто не обновляйте захват домена и переходите к следующей записи. Как я могу правильно обработать эту ошибку и просто перейти?
Так что для списка:
[email protected]
[email protected]
youououou
[email protected]
Я хотел бы выход быть:
gmail.com
hotmail.com
yahoo.com
Спасибо!
http://docs.python.org/tutorial/errors.html –
Просто отметим, что единственный безопасный способ проверки подлинности электронной почты - отправить электронное письмо по адресу, чтобы владелец учетной записи удостоверился, что у них есть получил. –
Обратите внимание, что некоторые @ отлично справляются по спецификации электронной почты. Так что гораздо разумнее делать 'rfind (" @ ")' или что-то .. – Voo