2
我试图下载一些位于文件夹(不是特定于Outlook)中的.msg
文件的附件。使用python保存.msg文件的附件
import win32com.client
import os
path = 'C:\\Users\\my_messages\\'
files = [f for f in os.listdir(path) if '.msg' in f]
print files
for file in files:
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
msg = outlook.OpenSharedItem(os.path.join(path, file))
att=msg.Attachments
for i in att:
i.SaveAsFile(os.path.join(path, i.FileName))
我不断收到此错误,这使我相信,win32com
库有问题。任何帮助深表感谢。
IOError: [Errno 2] No such file or directory: u'C:\\Python27\\lib\\site-packages\\win32com\\gen_py\\00062FFF-0000-0000-C000-000000000046x0x9x6\\ItemEvents.py.temp'
该线路上时,将生成错误:
msg = outlook.OpenSharedItem(os.path.join(path, file))
你有没有考虑任何现有的解决方案,如https://github.com/mattgwwalker/msg-extractor而不是自己写?如果没有别的,你至少可以看看他们是如何做到的。 –
谢谢,我试着用'python ExtractMsg.py example.msg'的例子,但得到错误:'无法打开'ExtractMsg'文件:[Errno 2]没有这样的文件或目录。如果我运行'Import ExtractMsg',我没有问题。也许我只需要挖掘图书馆的代码。 – user2242044
对于使用'Anaconda'安装的'Python 3.6.0',它工作得很好。你是如何安装'win32com'库的? – Adonis