Python 从电子邮件获取.jpg附件并保存到文件

Python 从电子邮件获取.jpg附件并保存到文件,python,Python,我有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/g

我有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佩德罗·罗德里格斯研究1

55佩德罗·罗德里格斯研究2

56佩德罗·罗德里格斯研究3

57佩德罗·罗德里格斯再次测试

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图像库PIL编辑并保存照片。
这里有一个链接,您可以在这里查看它的安装和使用情况:

谢谢,但我有130个JPG要下载。我只是想自动完成。我不想编辑.PIL有一个img.save方法,img.savepath,格式是可选的,如果没有指定格式,则由文件名扩展名决定。如果我知道如何获取jpg,我想我可以保存它,但作为一个非计算机人员,我不能。我只是设法从电子邮件中得到了文本!!