Как сохранить вложение из внешнего вида, используя win32com.client в Python?

Я пытаюсь прочитать электронную почту и загрузить вложение в свою папку с помощью модуля win32com в Python, я остановился на получении объекта вложения:

from win32com.client import Dispatch
import datetime as date

outlook = Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder("6")
all_inbox = inbox.Items
val_date = date.date.today()

sub_today = 'Hi'
att_today = 'Attachment.xlsx'
for msg in all_inbox:
    if msg.Subject == sub_today:
        break

for att in msg.Attachments:
    if att.FileName == att_today:
        break

att.SaveAsFile('new.xlsx')
att.ExtractFile('new.xlsx')
open(att)    
att.WriteToFile('x')

Ни одна из последних 4 строк не работает ...

>>> att.ExtractFile('new.xlsx')
raise AttributeError("%s.%s" % (self._username_, attr))
AttributeError: <unknown>.ExtractFile

>>> open(att) 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: coercing to Unicode: need string or buffer, instance found

>>> att.WriteToFile('x')
 raise AttributeError("%s.%s" % (self._username_, attr))
AttributeError: <unknown>.WriteToFile

att.SaveAsFile('new.xlsx') не имеет ошибки, но в рабочем каталоге такого файла нет. Кажется, что линия была просто проигнорирована ...

Может ли кто-нибудь помочь? Заранее спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос