Если список вложений пуст или ни одно из att.FileName не установлено, то вы получите сообщение об ошибке выше. Есть хороший трюк с питоном, чтобы избежать этого: вы можете использовать else
для цикла for
. Код в else
будет выполнен, если вы переберите коллекцию и никогда не нажмете break
.
Вот пример:
log = logging.getLogger(__name__)
for att in msg.Attachments:
if att.FileName:
break
else:
log.error("file is not found")
att = None
if att:
att.SaveAsFile(att_today)
log.info('Finished Attachment Download')
Есть только 1 приложение?