我已经导出了一堆Gmail消息,并希望使用Python解析它们并获得见解。然而,在导出时,我在这些mbox文件中实现了一种奇怪的编码,例如,字符“é”被转换为=E9
,引号符号(“and”)被转换为=E2=80=9C
和=E2=80=9D
。我的电子邮件经常有很多外来脚本,因此将这些文件解码成utf-8对我来说非常重要。此外,我经常会收到带有表情符号的信息,这些信息也传达了我需要保存的重要情感信息
我发现这种编码称为Quoted Printable,我尝试使用quopri
Python模块,但是没有成功
以下是我的简化代码:
import os
import quopri
from pathlib import Path
for filename in os.listdir(directory):
if filename.endswith(".mbox"):
input_filename = Path(os.path.join(directory,filename))
output_filename = Path(os.path.join(directory,filename+'_utf-8'))
with open(input_filename, 'rb'):
quopri.decode(input_filename, output_filename)
但是,当运行此命令时,我在最后一行得到以下错误:AttributeError: 'WindowsPath' object has no attribute 'read'
。我不明白为什么会出现这个错误,因为定义的路径指向文件
您需要声明上下文管理器的名称(
with
语句),如下所示:相关问题 更多 >
编程相关推荐