J'essaye de télécharger des pièces jointes pour un certain nombre de fichiers .msg
qui résident dans un dossier (pas dans Outlook en particulier).Enregistrement de pièces jointes à partir de fichiers .msg avec python
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))
Je continue à obtenir cette erreur, ce qui me conduit à croire que la bibliothèque win32com
a des problèmes. Toute aide est très appréciée.
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'
L'erreur est générée sur cette ligne:
msg = outlook.OpenSharedItem(os.path.join(path, file))
Avez-vous considéré l'une des solutions existantes telles que https://github.com/mattgwwalker/msg-extractor plutôt que d'écrire les vôtres? Si rien d'autre, vous pouvez au moins regarder comment ils le font. –
Merci, j'ai essayé d'utiliser leur exemple de 'python ExtractMsg.py exemple.msg' mais obtenir l'erreur:' ne peut pas ouvrir le fichier 'ExtractMsg': [Errno 2] Aucun fichier ou répertoire'. si je lance 'import ExtractMsg', je n'ai aucun problème. Peut-être que j'ai juste besoin de creuser le code de la bibliothèque. – user2242044
Cela a bien fonctionné pour moi avec 'Python 3.6.0' installé avec' Anaconda'. Comment avez-vous installé la bibliothèque 'win32com'? – Adonis