这是我遇到的问题的一个例子。我正在使用 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()
为什么在我的脚本中间打开与邮箱的会话会阻止进一步的文件输出?有任何想法吗?(其他操作不被阻塞,只是这个文件 i/o asfaik)