检索文件以从gmail保存时,我收到以下错误消息:
Traceback (most recent call last):
File "C:\a.py", line 32, in on_hello
if getmail(self):
File "C:\a.py", line 96, in getmail
fp = open(att_path, 'wb')
IOError: [Errno 22] invalid mode ('wb') or filename: '.\\=?iso-8859-1?Q?CC_GM=5F
Est=E1vel.xlsx?='
现在,我怀疑=?iso-8859-1?Q?CC_GM=5FEst=E1vel.xlsx?=
是问题,如何将其转换为ansii?我尝试使用各种.decode和.encode组合但没有成功。
由于
答案 0 :(得分:3)
您正在查看Quoted-printable编码(MIME电子邮件标头中使用的变体,称为encoded-word)。 email.header
module为您处理此问题:
>>> from email.header import decode_header
>>> for part in decode_header('=?iso-8859-1?Q?CC_GM=5FEst=E1vel.xlsx?='):
... value = str(*part)
... print(value)
...
CC GM_Estável.xlsx
答案 1 :(得分:1)
这是一个MIME编码的电子邮件标题。
你应该*能够在这里使用某些东西,也许decode
:
http://docs.python.org/2/library/email.header.html
*我不经常写Python;你的里程可能会有所不同。
答案 2 :(得分:0)