使用python win32com程序包阅读电子邮件后,Outlook变慢

时间:2018-09-10 14:50:46

标签: python outlook win32com

当我使用win32com访问Outlook 2013时,运行代码后,Outlook的运行速度明显变慢。下面是我的代码:

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
                                    # any other folder
emails = outlook.GetDefaultFolder(6).Folders['xyz'].Folders['abc'].Items

有时我会遇到com_error:(-2146959355,“服务器执行失败”,“无”,“无”),如果事先打开了Outlook,则会运行该代码。我将不得不重新启动Outlook并将我的python env重置为恢复正常。阅读电子邮件后,Outlook中是否需要设置任何设置,或者需要执行任何特殊的python操作?

最好的问候, 杰里米

1 个答案:

答案 0 :(得分:0)

您是否曾经退出过win32com应用程序?如果它仍与计算机上的其他程序一起运行,则会消耗内存/其他资源,并使原始Outlook速度变慢,这是我的猜测。

我确实像运行Word一样

def win32_word_dispatch():     #延迟导入win32com-在以下情况下不加载Windows / MS Office库     #他们没有被叫。     将win32com.client导入为win32     字= win32.Dispatch(“ Word.Application”)     word.Visible = 0     返回字词

并尝试以以下方式将其关闭:

def close_ms_word(app):     app.Quit()     #问题:还必须通过调用app.Quit()退出某个地方     # 像     #http://bytes.com/topic/python/answers/23946-closing-excel-application