gpt4 book ai didi

python - unicode() 参数 2 必须是字符串而不是 None

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

我正在尝试解析包含 html 内容的电子邮件的内容。

import imaplib
import email
....
elif part.get_content_type() == "text/html":
# if html is None:
html = ""
html += unicode(part.get_payload(decode=True),part.get_content_charset(),'replace').encode('utf8','replace')
save_string = str("C:Dumpgmailemail2"+".eml")
# location on disk
myfile = open(save_string, 'a')
myfile.write(str(html))
#myfile.write(html.decode('utf-8'))
myfile.close()

但这给了我一个错误:

Traceback (most recent call last):
File "extract.py", line 22, in <module>
html += unicode(part.get_payload(decode=True),part.get_content_charset(),"replace").encode('utf8','replace')
TypeError: unicode() argument 2 must be string, not None

最佳答案

似乎 part.get_content_charset()None ,如果它的 None ,也许您可​​以向 unicode() 函数提供一些默认值-

html += unicode(part.get_payload(decode=True),part.get_content_charset() if part.get_content_charset() is not None else 'utf-8' ,'replace').encode('utf8','replace')

关于python - unicode() 参数 2 必须是字符串而不是 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30914725/

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