Python 解析&x201C;math340-05=?UTF-8?B?4oCTIEF1ZmdhYmUgNS4x?=&x201D;

Python 解析&x201C;math340-05=?UTF-8?B?4oCTIEF1ZmdhYmUgNS4x?=&x201D;,python,Python,我想使用Python 3从存储在.eml文件中的电子邮件中提取主题: 文件的主题行如下所示: Subject: math340-05 =?UTF-8?B?4oCTIEF1ZmdhYmUgNS4x?= 我尝试使用email模块解析名称,但它按原样返回字符串: with open(filename, "r") as f: m = email.message_from_file(f) print(m["Subject"]) 我该如何解码呢?一种方法是向我们发送email.header模块

我想使用Python 3从存储在
.eml
文件中的电子邮件中提取主题:

文件的主题行如下所示:

Subject: math340-05 =?UTF-8?B?4oCTIEF1ZmdhYmUgNS4x?=
我尝试使用
email
模块解析名称,但它按原样返回字符串:

with open(filename, "r") as f:
    m = email.message_from_file(f)

print(m["Subject"])

我该如何解码呢?

一种方法是向我们发送
email.header
模块:

import email, email.header
m = email.message_from_string("Subject: math340-05 =?UTF-8?B?4oCTIEF1ZmdhYmUgNS4x?=")
raw_header = email.header.decode_header(m["Subject"])
header = email.header.make_header(raw_header)
print(str(header))
# or for py2: print(unicode(header))
将为您提供:

math340-05 – Aufgabe 5.1 math340-05–Aufgabe 5.1