Probleme beim Parsen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
pascalsv
User
Beiträge: 16
Registriert: Samstag 7. Januar 2006, 15:45

Moin,

wenn ich folgenden Code nutze, erkennt er im ersten Durchlauf der ersten Mail korrekt den Meldungstext, springt danach aber abermals in die Sektion und überschreibt den richtigen Text mit dem falschen HTML-Kram...

self.s ist eine Liste mit allen Mails.

Code: Alles auswählen

       self.mails = []
       
        if len(self.s.list()[1]) <> 0:
            for mailanzahl in range(len(self.s.list()[1])):
                header,mes,obje = self.s.retr(mailanzahl+1)
    
                text = join(mes, "\n")
                m = email.message_from_string(text)
                typen = m.items()
                for part in m.walk():
                    if part.get_content_maintype() == "text" :
                        inhalt = part.get_payload()
Was tun?? :roll:

Pascal
Life is short - don't buy green bananas...
BlackJack

Das Problem besser beschreiben. Was ist der "korrekte Meldungstext"? Was meinst Du mit "Sektion"? Richtiger Text, falscher HTML-Kram?

Wenn Du nicht etwas deutlicher beschreibst was Du hast, was Du erwartest und was Du statt dessen bekommst, dann müssen wir raten.

Ich rate mal: Du hast eine Multipart-Message mit dem normalen Textteil (Mimetyp 'text/plain') gefolgt von einem HTML-Teil (Mimetyp 'text/html') und möchtest nur den ersten Text haben. Dann musst Du im ``if`` die Schleife verlassen. Mit ``break`` kann man die gerade aktuelle ``while`` oder ``for`` Schleife verlassen.
Antworten