2

发送时

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. 

在上面引用的一行电子邮件中,雷鸟将其转换为:

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam 
voluptua.

我相信,这在某种程度上与这个format=flowed标题有关:

Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

在 Thunderbird 中显示邮件时,它看起来非常好。该行显示为一行。但是,当使用 python 解析它时,Message.get_payload仍然显示换行符,完全破坏了可读性。

如何让 python 将这些“流动”的文本行转换为普通行?

4

1 回答 1

4

使用该formatflowed将此类文本转换为“常规”文本:

from formatflowed import convertToWrapped

text = convertToWrapped(msg.get_payload(), character_set=msg.get_charset())

请注意,您需要传入一个字节字符串,而不是一个unicode值;该库为您解码为 Unicode。

强制性免责声明:我是那个图书馆的作者,尽管现在已经很久了。

于 2013-08-05T18:21:20.963 回答