python - 在带有 win32com 的 Microsoft Outlook COM 中使用相对路径
问题描述
win32com.client
我创建了一个函数来使用Ppython 脚本发送我的输出的电子邮件。
app = win32com.client.Dispatch('Outlook.Application')
mail = app.CreateItem(0)
mail.Subject = 'Output file'
mail.Body = 'Output file'
mail.To = 'foo@bar.com'
attachment = 'E:\\python\\outputfile.xlsx'
mail.Attachments.Add(attachment)
mail.Send()
它工作得很好,但我有一个小问题。只有当我给出整个路径时,它才会找到附件。例如,
attachment='outputfile.xlsx'
或者
attachment="\\outputfile.xlsx"
导致错误
' 4096, 'Microsoft Outlook', '文件名或目录名无效。'
我想让代码可移植,以便它可以从自己的目录中找到文件。
解决方案
最简单的方法是import os
使用os.path.abspath('outputfile.xlsx')
.
推荐阅读
- java - 尝试使用 Exchanger 通知线程已创建对象会导致两个线程都被锁定
- java - java如何拆分混合语言字符串
- vue.js - 如何使用 Vuex 异步操作和变异进行身份验证?
- angular - Angular / Web API:将 FormFile 信息从客户端发送到 API
- python - 如何返回大于 x 的最后一个元素的值
- windows - 如何在 QT 安装程序框架中区分每个用户和系统范围的安装?
- heroku - Heroku 生成的 DNS 目标
- ide - OSDEV 有 IDE 吗?
- django - Python opencv等待相机空闲
- travis-ci - Travis CI 未定义对 SDL2 和 GLEW 函数的引用