Python wird nicht in Datei schreiben
Ich bin versucht zu schreiben, eine ziemlich gedruckte E-Mail .txt-Datei, so kann ich besser sehen, was ich möchte, zu analysieren.
Hier ist dieser Abschnitt aus meinem code:
result, data = mail.uid('search', None, "(FROM '[email protected]')") # search and return uids instead
latest_email_uid = data[0].split()[-1]
result, data = mail.uid('fetch', latest_email_uid, '(RFC822)')
raw_email = data[0][1]
html = raw_email
soup = BS(html)
pretty_email = soup.prettify('utf-8')
f = open("da_email.txt", "w")
f.write(pretty_email)
f.close
Ich bin nicht läuft in einen Fehler, aber ich kann es nicht wieder schreiben die Daten in die Datei. Ich weiß, dass die Daten richtig gespeichert in der pretty_email variable, da kann ich drucken Sie es aus in der Konsole.
Irgendwelche Gedanken?
MEINE AKTUALISIERTE CODE, FUNKTIONIERT IMMER NOCH NICHT:
result, data = mail.uid('search', None, "(FROM '[email protected]')") # search and return uids instead
latest_email_uid = data[0].split()[-1]
result, data = mail.uid('fetch', latest_email_uid, '(RFC822)')
raw_email = data[0][1]
html = raw_email
soup = BS(html)
pretty_email = soup.prettify('utf-8')
with open("da_email.txt", "w") as f:
f.write(pretty_email)
InformationsquelleAutor metersk | 2013-10-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie zum aufrufen der close-Methode commit der änderungen an der Datei. Hinzufügen
()
zu Ende:Oder noch besser wäre die Verwendung
:
schließt sich automatisch die Datei für Sie
f.flush()
.Sind Sie sicher, dass Sie suchen, in das richtige Verzeichnis? Kann es sein, dass es in (einigen seltsamen Ort)/da_email.txt je nachdem, wie das Programm aufgerufen wird. Wenn es schreiben wollte und nicht konnte, es würde eine exception werfen.
Zu den aktuellen Arbeits-Verzeichnis, um genauer zu sein. Aber es wird sehr wahrscheinlich sein, wo Sie starten (hängt davon ab, welche IDE du verwendest).
Ja. Wenn Sie nicht einen vollständigen Pfad angeben, Python sucht nach der Datei im gleichen Verzeichnis wie das script (oder das aktuelle Arbeitsverzeichnis, falls Sie geändert wurde). Wenn er Sie findet, wird es schreiben. Andernfalls wird es erstellt die Datei in diesem Verzeichnis.
Lasst auszuschließen pwd/Pfad Probleme komplett durch machen
with open(r"C:\users\Andrew\da_email.txt", "w") as f:
und sehen, was passiert.InformationsquelleAutor iCodez
Dir fehlen die Klammern am Ende der
f.close()
.InformationsquelleAutor Guest