14

きれいに印刷された電子メールを .txt ファイルに書き込もうとしているので、解析したいものをよりよく見ることができます。

これが私のコードのこのセクションです:

result, data = mail.uid('search', None, "(FROM 'tiffany@e.tiffany.com')") # 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 'tiffany@e.tiffany.com')") # 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)
4

2 に答える 2

25

ファイルへの変更をコミットするには、close メソッドを呼び出す必要があります。最後に追加()

f.close()

または、次を使用することをお勧めしますwith

with open("da_email.txt", "w") as f:
    f.write(pretty_email)

ファイルを自動的に閉じます

于 2013-10-10T19:50:36.677 に答える