Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python从msg文件中提取附件_Python - Fatal编程技术网

如何使用Python从msg文件中提取附件

如何使用Python从msg文件中提取附件,python,Python,如何使用Python从msg文件中提取附件 import os import sys import email import errno import mimetypes from optparse import OptionParser if __name__ == "__main__": fp = open("C:/FNFData/emails/e_1512_1_message.msg") msg = email.message_from_file(fp) fp.

如何使用Python从msg文件中提取附件

import os
import sys
import email
import errno
import mimetypes
from optparse import OptionParser

if __name__ == "__main__":

    fp = open("C:/FNFData/emails/e_1512_1_message.msg")
    msg = email.message_from_file(fp)
    fp.close()

    counter = 1
    print msg['From']
    print msg['Subject']
    for part in msg.walk():
        # multipart/* are just containers
        if part.get_content_maintype() == 'multipart':
            continue
        # Applications should really sanitize the given filename so that an
        # email message can't be used to overwrite important files
        filename = part.get_filename()
        #print filename
        if not filename:
            ext = mimetypes.guess_extension(part.get_content_type())
            print "Extension :", ext
            if not ext:
                # Use a generic bag-of-bits extension
                ext = '.bin'
            filename = 'part-%03d%s' % (counter, ext)
        counter += 1
        fp = open(os.path.join("C:\\FNFData\\emails", filename), 'wb')
        fp.write(part.get_payload(decode=True))
        fp.close()
    print counter
此代码不起作用,将“ksh”标识为附件的扩展名,而不是pdf。它还将“To”、“From”、“Subject”所有内容显示为无。。。 你知道为什么吗

谢谢


Parag

你能发布一个显示这些问题的样本
.msg
文件吗?我不能,因为这是我们客户的电子邮件。但是你看到代码有什么问题吗…?你能拿一个让它通用吗?或者代码在某些情况下有效吗?不清楚会出什么问题。哪个程序正在生成msg文件?