Я знаю, что могу использовать email.utils.parseaddr
, чтобы правильно разобрать адрес электронной почты, даже хитрый:
>>> parseaddr('Bad Horse <bad.horse@example(no one expects the @-ish inquisition!).com')
('Bad Horse (no one expects the @-ish inquisition!)', 'bad.horse@example.com')
(Так хорошо, Python! Так хорошо!)
Однако это всего лишь строка:
>>> type(parseaddr('Bad Horse <bad.horse@example(no one expects the @-ish inquisition!).com')[-1])
<class 'str'>
В типичном случае я могу просто сделать .rsplit('@', maxsplit=1)[-1]
, чтобы получить домен.Но что, если я просто отправляю локальную почту без домена?
>>> parseaddr('Wayne <wayne>')[-1].rsplit('@', maxsplit=1)[-1]
'wayne'
Это не совсем то, что я хочу - я бы предпочел None
или 'localhost'
.
что-нибудь подобное входит в комплект батарей Python?