我创建了一个函数,用于在 Ppython 脚本中使用 win32com.client
发送输出的电子邮件。
app = win32com.client.Dispatch('Outlook.Application')
mail = app.CreateItem(0)
mail.Subject = 'Output file'
mail.Body = 'Output file'
mail.To = '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5d3b32321d3f3c2f733e3230" rel="noreferrer noopener nofollow">[email protected]</a>'
attachment = 'E:\\python\\outputfile.xlsx'
mail.Attachments.Add(attachment)
mail.Send()
效果很好,但我有一个小问题。仅当我提供完整路径时它才能找到附件。例如,
attachment='outputfile.xlsx'
或
attachment="\\outputfile.xlsx"
导致错误
4096, 'Microsoft Outlook', 'File name or directory name is not valid.'
我想让代码可移植,以便它可以从自己的目录中找到该文件。
最佳答案
最简单的方法是导入操作系统
并使用 os.path.abspath('outputfile.xlsx')
.
关于python - 在 Microsoft Outlook COM 中使用 win32com 的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51094390/