gpt4 book ai didi

python - MS Outlook CDO/MAPI 阻止 Python 文件输出?

转载 作者:行者123 更新时间:2023-12-01 06:20:03 27 4
gpt4 key购买 nike

这是我遇到的问题的示例。我正在使用 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()

为什么在我的脚本中间打开邮箱 session 会阻止进一步的文件输出?有任何想法吗? (其他操作不被阻止,只是这个文件i/o asfaik)

最佳答案

是的,目录更改是使用 CDO/MAPI 时的一个已知问题。它在 MSDN 中的某处“记录”(例如 http://support.microsoft.com/kb/269170 )。您可以像这样在 Python 中轻松重现它:


import os
import win32com.client

print os.getcwd ()
win32com.client.Dispatch ("MAPI.Session")
print os.getcwd ()

关于python - MS Outlook CDO/MAPI 阻止 Python 文件输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/488504/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com