gpt4 book ai didi

python - 电子邮件附件保存

转载 作者:太空宇宙 更新时间:2023-11-03 12:05:26 25 4
gpt4 key购买 nike

我尝试解析带有 pdf 附件的电子邮件

def get_files(poruka):
pdfs = []
if poruka.is_multipart():
for part in poruka.get_payload():
if part.get_content_type() == 'application/pdf':
data = part.get_payload()
temppdf = tempfile.NamedTemporaryFile('w+b', -1)
temppdf.write(base64.b64decode(data))
pdfs.append(temppdf)

return pdfs

它有效,但在 pdfs 中我有文件实例。我尝试做的是在名为 storage 的文件夹中保存一个以他的原始名称命名的文件。

当我尝试 open(temppdf, 'wb').write(temppdf.get_payload(decode=True)) 时出现错误 TypeError: coercing to Unicode: need string or buffer,找到实例

还有如何获取 pdfs[0] 文件名?

最佳答案

第一个问题是您试图打开一个文件对象而不是一个文件名。您可以尝试 open(temppdf.name) 但这可能不起作用(不能保证在所有平台上都有效)。从 Python 2.6 开始,您可以在 NamedTemporaryFile 上指定 delete=False不过,调用然后打开 temppdf.name 应该可以正常工作。

关于python - 电子邮件附件保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33390931/

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