きれいに印刷された電子メールを.txtファイルに書き込もうとしているので、解析したいものをよりよく表示できます。
これが私のコードのこのセクションです:
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
エラーは発生していませんが、データをファイルに書き込むことができません。コンソールで出力できるため、データがpretty_email変数に適切に格納されていることを知っています。
何かご意見は?
それでも機能しない更新されたコード:
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)
ファイルへの変更をコミットするには、closeメソッドを呼び出す必要があります。追加 ()
最後まで:
f.close()
または、 with
:を使用することをお勧めします。
with open("da_email.txt", "w") as f:
f.write(pretty_email)
これにより、ファイルが自動的に閉じられます
f.close()
の最後に角かっこがありません。