gpt4 book ai didi

python - 无法在python中提取电子邮件文件的正文

转载 作者:太空狗 更新时间:2023-10-30 00:21:00 25 4
gpt4 key购买 nike

我正在阅读存储在我机器中的电子邮件文件,能够提取电子邮件的标题,但无法提取正文。

    # The following part is working , opening a file and reading the header .

import email
from email.parser import HeaderParser
with open(passedArgument1+filename,"r",encoding="ISO-8859-1") as f:
msg=email.message_from_file(f)
print('message',msg.as_string())
parser = HeaderParser()
h = parser.parsestr(msg.as_string())
print (h.keys())

# The following snippet gives error
msgBody=msg.get_body('text/plain')

有没有合适的方法只提取正文消息。卡在这一点上。

作为引用,可以从以下位置下载电子邮件文件

https://drive.google.com/file/d/0B3XlF206d5UrOW5xZ3FmV3M3Rzg/view

最佳答案

3.6 电子邮件库默认使用与 Python 3.2 兼容的 API,这就是导致您出现此问题的原因。

请注意文档中以下声明中的默认策略:

email.message_from_file(fp, _class=None, *, policy=policy.compat32)

如果您想使用在 3.6 文档中看到的"new"API,您必须使用不同的策略创建消息。

import email
from email import policy
...
msg=email.message_from_file(f, policy=policy.default)

将为您提供您在文档中看到的新 API,其中包括非常有用的:get_body()

关于python - 无法在python中提取电子邮件文件的正文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45124127/

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