[英]Python: Downloading Outlook Attachments and Change Filename on Save
以下代码在下面工作,但是我试图添加一个参数,将 SaveAsFile 方法上的文件名更改为 (a) 我正在处理的消息的迭代。
例如,当前 output 是
Returned mail see transcript for details
Returned mail see transcript for details
所需的 output 是
Returned mail see transcript for details1
Returned mail see transcript for details2
Returned mail see transcript for details3
目前这段代码只是覆盖了我文件夹中的同一个保存文件,但是我需要完成将同一个文件从不同的消息保存到一个新的文件名。
下面的代码:
import win32com.client
import os
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6) # "6" refers to the index of a folder - in this case the inbox. You can change that number to reference
messages = inbox.Items
message = messages.GetFirst()
subject = message.Subject
i = 0
#
get_path = r'S:\Corporate Shared\Contracting Shared\DATA_PROJECTS\James\Email Extraction\Undeliverable Items'
for m in messages:
i = i + 1 #numeration
a = str(i) #Creates i as a string
if m.Subject == ("Returned mail: see transcript for details"):
#print(message)
attachments = message.Attachments
num_attach = len([x for x in attachments])
for x in range(1, num_attach + 1):
attachment = attachments.Item(x)
attachment.SaveASFile(os.path.join(get_path,attachment.FileName))
print(attachment)
#print(a)
message = messages.GetNext()
else:
message = messages.GetNext()
不要在调用os.path.join
时使用attachment.FileName
,而是将attachment.FileName
存储在一个变量中,然后替换最后一个"."
用"_" + x + "."
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.