Вот пример проблемы, с которой я сталкиваюсь. Я использую расширения Python Win32 для доступа к почтовому ящику Outlook и получения сообщений.
Ниже приведен скрипт, который должен записать «hello world» в текстовый файл. Мне нужно получить некоторые сообщения из почтового ящика Outlook, и я заметил что-то странное. После подключения к почтовому ящику я больше не могу ничего печатать в файл. Вот урезанная версия, показывающая проблему:
#!/usr/bin/env python
from win32com.client import Dispatch
fh = open('foo.txt', 'w')
fh.write('hello ')
fh.close()
session = Dispatch('MAPI.session')
session.Logon('','',0,1,0,0,'exchange.foo.com\nprodreport');
session.Logoff()
fh = open('foo.txt', 'a')
fh.write('world')
fh.close()
Если я не присоединяюсь к почтовому ящику и не комментирую следующие строки, это, очевидно, работает нормально:
session = Dispatch('MAPI.session')
session.Logon('','',0,1,0,0,'exchange.foo.com\ncorey');
session.Logoff()
Почему открытие сеанса для почтового ящика в середине моего скрипта блокирует дальнейший вывод файла? есть идеи? (другие операции не блокируются, только этот файл ввода / вывода asfaik)