【发布时间】:2018-10-09 16:15:16
【问题描述】:
我有 130 张学生照片要下载。我不想手动执行此操作,所以我认为 Python 可以提供帮助。如何将我的照片保存在我的计算机上?
我已经走到这一步了:
import sys
import pyzmail
import email
from imapclient import IMAPClient
HOST = 'imap.server.com'
USERNAME = 'meAt@foxmail.com'
PASSWORD = 'myIMAPpassword'
pathToFiles = '/home/pedro/getEmailtexts/emailTexts/'
server = IMAPClient(HOST, use_uid=True, ssl=True)
server.login(USERNAME, PASSWORD)
select_info = server.select_folder('Inbox')
messages = server.search('UNSEEN')
for uid, message_data in server.fetch(messages, 'RFC822').items():
email_message = email.message_from_bytes(message_data[b'RFC822'])
print(uid, email_message.get('From'), email_message.get('Subject'))
我得到这样的输出:
54 佩德罗·罗德里格斯 studi1
55 佩德罗·罗德里格斯 studi2
56 佩德罗·罗德里格斯 studi3
57 Pedro Rodriguez 再次测试
58 =?GBK?B?scu1ww==?= 58 =?GBK?B?scu1ww==?= =?GBK?Q?Fw:_=B9=F9=D3=EE=BC=D1_1825010321?=
59 =?GBK?B?scu1ww==?= jpg
UID 59 有一张照片,我发了,所以我试了一下:
len(email_message.get_payload())
2
attachment = email_message.get_payload()[1]
attachment.get_content_type()
'image/jpeg'
所以附件是我的照片。
如何将我的照片保存在我的计算机上?
我试过了:
file = 'email59.txt'
theFile = open(pathToFiles + file, 'a')
theFile.write(attachment)
Traceback (most recent call last):
File "<pyshell#48>", line 1, in <module>
theFile.write(attachment)
TypeError: write() argument must be str, not Message
【问题讨论】:
标签: python