Outlook начинает работать медленно после использования пакета python win32com для чтения писем - PullRequest
0 голосов
/ 10 сентября 2018

когда я использую win32com для доступа к outlook 2013, мой прогноз значительно замедляется после запуска кода. ниже мой код:

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. Я должен был бы перезапустить внешний вид и сбросить мою среду Python, чтобы вернуться к нормальной жизни. Есть ли какие-либо настройки в outlook, которые мне нужно установить, или какие-либо специальные операции с python, которые мне нужно выполнить после прочтения письма?

С уважением, Джереми

1 Ответ

0 голосов
/ 11 сентября 2018

Вы когда-нибудь выходили из приложения win32com? Если он все еще работает вместе с другими программами на компьютере, он высасывает память / другие ресурсы и замедляет работу вашего исходного Outlook, это мое предположение.

Я запускаю приложение Word вроде

def win32_word_dispatch (): # Ленивый импорт win32com - не загружайте библиотеки Windows / MS Office, когда # они не называются. импортировать win32com.client как win32 word = win32.Dispatch ("Word.Application") word.Visible = 0 возвращаемое слово

И попробуйте закрыть его как:

def close_ms_word (приложение): app.Quit () # ВЫПУСК: должен также где-то выйти, вызвав app.Quit () # как в # http://bytes.com/topic/python/answers/23946-closing-excel-application

...