如何用 Python 快速的搜索邮件
我们之前通过 win32 实现了用 Python 来获取 OutLook 邮件信息的功能,但是放在实际工作中还是有很多问题的,其中最严重的就是如果目标文件夹中的邮件很多,那么这个循环遍历将会很慢!那么,有没有好的办法来缩小遍历的范围呢?
通过使用 Restrict 方法来缩小搜索范围
例如,我们有如下需求:
获取所有未读并且邮件的分类(Categories)标记为指定内容的邮件。
1. 之前的写法
复制代码
这段代码的思路是遍历所有邮件,并判断邮件是否为未读(UnRead),并且指定内容在分类里面(Categories)。如果条件为真,便显示邮件内容。
整体没有什么问题,但是如果邮件数量巨大则执行效率会很慢,因为它要遍历所有的邮件。
2. 改良后的写法
复制代码
这段代码的思路是,先通过 Restrict 将符合条件的邮件筛选出来,然后再去遍历邮件
经过实验,这样的速度会快很多,当然了,如果本身你所有的邮件都是目标,那么两者的差距并会太大。
如果你对办公自动化感兴趣,请持续关注我。如果这篇内容对你有所帮助,也欢迎你将它转发给你的朋友。
我们下期见。
版权声明: 本文为 InfoQ 作者【IT蜗壳-Tango】的原创文章。
原文链接:【http://xie.infoq.cn/article/f1a0a8c4b8d6f634b6b2b0152】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论