python - 如何使用 GetDefaultFolder 获取特定文件夹并删除它创建的不需要的文件夹
问题描述
我试图弄清楚如何使用 Python 程序访问我的文件夹(请参阅这个SO 答案。)当我运行这个时:
outlook = win32com.client.Dispatch("Outlook.Application")
namespace = outlook.GetNamespace("MAPI")
for i in range(50):
try:print(i,namespace.GetDefaultFolder(i).Name)
except:pass
上述程序显示或创建了一些我无法弄清楚如何删除的文件夹,例如:
Reminders
the file so that changes to the file will be reflected in your item.
RSS Subscriptions
除了无法删除这些文件夹之外,我实际上还没有以编程方式找到我正在寻找的文件夹。在 Outlook 中,我创建的文件夹与收件箱、已发送邮件等处于同一级别...但我不知道如何访问这些文件夹的父文件夹。
我的文件夹结构:
- ▼ 我的邮箱
- 收件箱
- 草稿
- 发送的邮件
- ...
- 我要查找的文件夹
- ...
- 文件,以便对文件的更改将反映在您的项目中。
- 提醒
- RSS订阅
- 搜索文件夹
解决方案
GetDefaultFolder
的论点是一个枚举。您可以使用文档中礼貌给出的数值,
或者,根据使用 Python 和 win32com 在 Excel COM 中访问枚举常量,通过符号值访问它:
#need to only do this once per machine; after that, a regular Dispatch will do
o = win32com.client.gencache.EnsureDispatch("Outlook.Application")
from win32com.client import constants
o.GetDefaultFolder(constants.olFolderContacts)
如您所见,访问尚不存在的默认文件夹会创建它。有关如何处理它们,请参见例如如何隐藏或删除 Outlook 的默认文件夹。
推荐阅读
- python - 如何修复我的麦克风无法正确接收输入的异常错误?
- python - 如何计算哪个自变量对因变量的影响最大?
- excel - CallByName 不适用于所有对象/函数
- python - 如何使用python读取保存在计算机中的文本文件
- python-3.x - 通过列名中包含的字符串将数据框中的列提取到新的数据框中
- linux - 如何设置环境变量指向一个位置以及如何在 UBUNTU 中设置环境变量的路径?
- python - 如何在 python 中使用 FFmpeg 和 subprocess 模块将 .mp4 视频文件转换为 .yuv (YUV420),反之亦然?
- angular - 如何将 Angular 应用程序部署到 IIS 以及在 url 中写入的内容(对于 windows 服务器)
- vim - 从 vim 中的当前选项卡位置缩进
- vba - 如何在 VBA 中创建一个循环,在满足条件时执行 Sumproduct 操作