[Python-de] Re: Komma-separierte Liste von E-Mailadressen parsen
Christopher Arndt
chris.arndt at web.de
Son Sep 4 12:49:08 CEST 2005
Harald Armin Massa schrieb:
> Hallo Christopher,
>
> genau für diese Aufgabe gibt es das csv-modul in der Standard-Library.
Nope, das hilft leider nichts. Hatte ich auch zuerst dran gedacht und es dann
aber für Overkill gehalten. Jetzt habe ich es mal getestet:
---> parseaddrlist.py <---
import csv
import cStringIO
import email.Utils
def parseaddrlist(s):
f = cStringIO.StringIO(s)
reader = csv.reader(f, skipinitialspace=True)
l = []
for addr in reader.next():
if addr.strip():
l.append(email.Utils.parseaddr(addr))
return l
if __name__ == '__main__':
al = '"Hacker, J. Random" <random at hacker.net>, Joe Doe <joe at foo.com>, ' + \
'luser at dau.org'
print parseaddrlist(al)
---> end <---
$ python parseaddrlist.py
[('', 'Hacker'), ('Joe Doe', 'joe at foo.com'), ('', 'luser at dau.org')]
Leider nicht ganz das, was ich wollte. Da csv die Quotes um "Hacker, J. Random"
nicht erhält, scheitert parseaddr() :-(
Chris